奋斗30天Javascript之ECMAScript 6 入门之copyWithin() 方法(part20)
2019-03-27 13:50
85 查看
本文摘抄自阮一峰老師的《ECMAScript 6 入门》一文
copyWithin()
定义和用法:copyWithin() 方法用于从数组的指定位置拷贝元素到数组的另一个指定位置中。
语法:
[code]array.copyWithin(target, start, end)
- target(必需):从该位置开始替换数据。如果为负值,表示倒数。
- start(可选):从该位置开始读取数据,默认为 0。如果为负值,表示倒数。
- end(可选):到该位置前停止读取数据, 默认为 array.length。如果为负值,表示倒数。
这三个参数都应该是数值,如果不是,会自动转为数值。
栗子一:复制数组的前面两个元素到后面两个元素上:
[code]<button onclick="myFunction()">点我</button> <p id="demo"></p> <script> var fruits = ["Banana", "Orange", "Apple", "Mango"]; document.getElementById("demo").innerHTML = fruits; function myFunction() { document.getElementById("demo").innerHTML = fruits.copyWithin(2,0); } </script>
結果為:沒點擊點我之前
點擊點我之後:
栗子二:复制数组的前面两个元素到第三和第四个位置上
[code]<button onclick="myFunction()">点我</button> <p id="demo"></p> <script> var fruits = ["Banana", "Orange", "Apple", "Mango", "Kiwi", "Papaya"]; document.getElementById("demo").innerHTML = fruits; function myFunction() { document.getElementById("demo").innerHTML = fruits.copyWithin(2,0,2); } </script>
點擊之前:
點擊之後:
这三个参数都应该是数值,如果不是,会自动转为数值。
[code][1, 2, 3, 4, 5].copyWithin(0, 3) // [4, 5, 3, 4, 5]
上面代码表示将从 3 号位直到数组结束的成员(4 和 5),复制到从 0 号位开始的位置,结果覆盖了原来的 1 和 2。
下面是更多例子。
[code]// 将3号位复制到0号位 [1, 2, 3, 4, 5].copyWithin(0, 3, 4) // [4, 2, 3, 4, 5] // -2相当于3号位,-1相当于4号位 [1, 2, 3, 4, 5].copyWithin(0, -2, -1) // [4, 2, 3, 4, 5] // 将3号位复制到0号位 [].copyWithin.call({length: 5, 3: 1}, 0, 3) // {0: 1, 3: 1, length: 5} // 将2号位到数组结束,复制到0号位 let i32a = new Int32Array([1, 2, 3, 4, 5]); i32a.copyWithin(0, 2); // Int32Array [3, 4, 5, 4, 5] // 对于没有部署 TypedArray 的 copyWithin 方法的平台 // 需要采用下面的写法 [].copyWithin.call(new Int32Array([1, 2, 3, 4, 5]), 0, 3, 4); // Int32Array [4, 2, 3, 4, 5]
相关文章推荐
- 奋斗30天Javascript之ECMAScript 6 入门之字符串的扩展(part24)
- 奋斗30天Javascript之ECMAScript 6 入门之entries(),keys()和values()(part23)
- 奋斗30天Javascript之addEventListener() 方法(part26)
- 奋斗30天Javascript之DOM事件模型(Part27)
- 小甲鱼-C++快速入门笔记(20)之覆盖方法和重载方法
- JavaScript DOM编程基础精华01(DOM入门,DOM模型和获取页面元素,事件,window对象的方法)
- JavaScript字符串对象toUpperCase方法入门实例(用于把字母转换为大写)
- JavaScript字符串对象toLowerCase方法入门实例(用于把字母转换为小写)
- JavaScript数组拓展(js数组form, of, copyWithin, find, fill, includes方法介绍)
- JavaScript字符串对象toLowerCase方法入门实例(用于把字母转换为小写)
- JavaScript学习笔记 - 入门篇(2)- 常用互动方法
- 【Mysql sql inject】【入门篇】sqli-labs使用 part 4【18-20】
- JavaScript字符串对象substring方法入门实例(用于截取字符串)
- JavaScript charCodeAt方法入门实例(用于取得指定位置字符的Unicode编码)
- JavaScript italics方法入门实例(把字符串显示为斜体)
- javascript入门·动态的时钟,显示完整的一些方法,新年倒计时
- JavaScript strike方法入门实例(给字符串加上删除线)
- [机器学习入门] 李宏毅机器学习笔记-35(Ensemble part 1;集成方法 part 1)
- JavaScript link方法入门实例(给字符串加上超链接)
- JavaScript sup方法入门实例(把字符串显示为上标)