ES6中Array.copyWithin()函数的用法实例详解


Posted in Javascript onSeptember 16, 2017

ES6为Array增加了copyWithin函数,用于操作当前数组自身,用来把某些个位置的元素复制并覆盖到其他位置上去。

Array.prototype.copyWithin(target, start = 0, end = this.length)

该函数有三个参数。

target:目的起始位置。

start:复制源的起始位置,可以省略,可以是负数。

end:复制源的结束位置,可以省略,可以是负数,实际结束位置是end-1。

例:

把第3个元素(从0开始)到第5个元素,复制并覆盖到以第1个位置开始的地方。

下面的红色块是复制目标的起始位置,黄色块为复制的源。

const arr1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
arr1.copyWithin(1, 3, 6)
console.log('%s', JSON.stringify(arr1))

结果:

[1,4,5,6,5,6,7,8,9,10,11]

start和end都是可以省略。

start省略表示从0开始,end省略表示数组的长度值。

目标的位置不够的,能覆盖多少就覆盖多少。

const arr2 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
arr2.copyWithin(3)
console.log('%s', JSON.stringify(arr2))

结果:

[1,2,3,1,2,3,4,5,6,7,8]

start和end都可以是负数,负数表示从右边数过来第几个。

const arr3 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
arr3.copyWithin(3, -3, -2)
console.log('%s', JSON.stringify(arr3))

结果:

[1,2,3,9,5,6,7,8,9,10,11]

总结

以上所述是小编给大家介绍的ES6中Array.copyWithin()函数的用法实例详解,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

Javascript 相关文章推荐
记录几个javascript有关的小细节
Apr 02 Javascript
用Jquery实现可编辑表格并用AJAX提交到服务器修改数据
Dec 27 Javascript
JS+CSS制作DIV层可(最小化/拖拽/排序)功能实现代码
Feb 25 Javascript
浅析JavaScript中的delete运算符
Nov 30 Javascript
基于jQuery实现的仿百度首页滑动选项卡效果代码
Nov 16 Javascript
AngularJS中如何使用$parse或$eval在运行时对Scope变量赋值
Jan 25 Javascript
Angular2 环境配置详细介绍
Sep 21 Javascript
Jquery+Ajax+xml实现中国地区选择三级联动菜单效果(推荐)
Jun 09 jQuery
分析JS单线程异步io回调的特性
Dec 01 Javascript
react native 获取地理位置的方法示例
Aug 28 Javascript
vue弹窗插件实战代码
Sep 08 Javascript
Vue实现boradcast和dispatch的示例
Nov 13 Javascript
JS闭包的几种常见形式实例详解
Sep 16 #Javascript
ES6中Array.find()和findIndex()函数的用法详解
Sep 16 #Javascript
详解JS构造函数中this和return
Sep 16 #Javascript
Angular使用Md5加密的解决方法
Sep 16 #Javascript
使用JS实现气泡跟随鼠标移动的动画效果
Sep 16 #Javascript
EasyUI创建人员树的实例代码
Sep 15 #Javascript
webpack构建react多页面应用详解
Sep 15 #Javascript
You might like
PHP聚合式迭代器接口IteratorAggregate用法分析
2017/12/28 PHP
Yii框架参数配置文件params用法实例分析
2019/09/11 PHP
Javascript isArray 数组类型检测函数
2009/10/08 Javascript
ExtJS 学习专题(一) 如何应用ExtJS(附实例)
2010/03/11 Javascript
理解Javascript_01_理解内存分配原理分析
2010/10/11 Javascript
js报错 Object doesn't support this property or method的原因分析
2011/03/31 Javascript
在javascript中执行任意html代码的方法示例解读
2013/12/25 Javascript
js动态修改表格行colspan列跨度的方法
2015/03/30 Javascript
浅谈window对象的scrollBy()方法
2015/07/15 Javascript
JS动态日期时间的获取方法
2015/09/28 Javascript
javascript冒泡排序小结
2016/04/10 Javascript
为什么JavaScript没有块级作用域
2016/05/22 Javascript
AngularJs中 ng-repeat指令中实现含有自定义指令的动态html的方法
2017/01/19 Javascript
javascript中UMD规范的代码推演
2018/08/29 Javascript
node.js环境搭建图文详解
2018/09/19 Javascript
如何使用vue slot创建一个模态框的实例代码
2020/05/24 Javascript
在Vue中使用Viser说明(基于AntV-G2可视化引擎)
2020/10/28 Javascript
[43:36]Liquid vs Mineski 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Python实现从url中提取域名的几种方法
2014/09/26 Python
Python3.x中自定义比较函数
2015/04/24 Python
python3实现域名查询和whois查询功能
2018/06/21 Python
使用Python-OpenCV向图片添加噪声的实现(高斯噪声、椒盐噪声)
2019/05/28 Python
pandas中的series数据类型详解
2019/07/06 Python
python实现时间序列自相关图(acf)、偏自相关图(pacf)教程
2020/06/03 Python
利用CSS3伪元素实现逐渐发光的方格边框
2017/05/07 HTML / CSS
美国传奇滑手Paul Rodriguez创办的街头滑板品牌:Primitive Skateboarding
2019/10/29 全球购物
盖尔斯工厂店:GUESS Factory
2020/01/21 全球购物
入党自荐书范文
2014/03/09 职场文书
法制教育演讲稿
2014/09/10 职场文书
党员干部形式主义个人整改措施
2014/09/17 职场文书
公安纪律作风整顿剖析材料
2014/10/10 职场文书
2015年个人自我剖析材料
2014/12/29 职场文书
商务英语求职信范文
2015/03/19 职场文书
2015年青年志愿者协会工作总结
2015/04/27 职场文书
教师节座谈会主持词
2015/07/03 职场文书
vue实现登陆页面开发实践
2022/05/30 Vue.js