您的位置:首页> 前端教程> ES6教程
文章导航

JavaScript copyWithin()方法

2018-9-3 10:49| 作者: admin| 查看: 1690| 评论: 0

此方法可以拷贝数组内指定区间元素,然后使用拷贝的元素从指定位置开始替换。

为了加深记忆,分析一下此方法的名字copyWithin,由单词copy与within。

copy是拷贝的意思,within是在指定结构内部的意思。

正如名称表面意思,此方法的拷贝和替换操作都在同一个数组中进行。

此方法直接操作原数组。

ES2015新增此方法。

关于ES5数组内容可以参阅JavaScript Array 数组一章节。

语法结构:

[JavaScript] 纯文本查看 复制代码
arr.copyWithin(target, start[, end = this.length])

参数解析:

(1).target:必需,规定从数组何处开始进行替换。

(2).start:必需,规定从何处开始拷贝数组元素。

(3).end:可选,规定从何处结束拷贝数组元素,如果省略,则拷贝到数组结尾。

浏览器兼容:

(1).IE浏览器支持此方法。

(2).edge浏览器支持此方法。

(3).谷歌浏览器支持此方法。

(4).火狐浏览器支持此方法。

(5).opera浏览器支持此方法。

(6).safria浏览器支持此方法。

代码实例如下:

[JavaScript] 纯文本查看 复制代码运行代码
let arr = ["蚂蚁部落","http://www.softwhy.com",6,"2015","奋斗"];
let newArr=arr.copyWithin(0, 2);
console.log(newArr);

代码运行效果截图如下:

a:3:{s:3:\"pic\";s:43:\"portal/201809/03/104738ug3ekfzeaaamrba3.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

上述代码分析如下:

(1).从位置2出开始拷贝直到结尾,那么拷贝数组元素是6、2015和奋斗。

(2).然后从位置0处开始进行替换原数组内容。

[JavaScript] 纯文本查看 复制代码运行代码
let arr = ["蚂蚁部落","http://www.softwhy.com",6,"2015","奋斗"];
let newArr=arr.copyWithin(0, 3);
console.log(newArr===arr);

代码运行效果截图如下:

a:3:{s:3:\"pic\";s:43:\"portal/201809/03/104818mvxxhoxrfqraxc2o.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

返回值是true,说明此方法是直接操作原数组。

[JavaScript] 纯文本查看 复制代码运行代码
let arr = ["蚂蚁部落","http://www.softwhy.com",6,"2015","奋斗"];
console.log(arr.copyWithin(-2, 3,-1));

代码运行效果截图如下:

a:3:{s:3:\"pic\";s:43:\"portal/201809/03/104854f3d88uwp8tolaw8z.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

此方法的三个参数都可以是负数,数组第一个元素索引位置为0,那么-1就是倒数一个元素,以此类推。

[JavaScript] 纯文本查看 复制代码运行代码
let i32a = new Int32Array([1, 2, 3, 4, 5]);
console.log(i32a.copyWithin(0, 2));

代码运行效果截图如下:

a:3:{s:3:\"pic\";s:43:\"portal/201809/03/104930zfadahbvzmwbzfvy.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

可以看到,此方法也可以用于二进制数组。


鲜花

握手

雷人

路过

鸡蛋

最新评论

返回顶部