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 相关文章推荐
工作中常用到的JS表单验证代码(包括例子)
Nov 11 Javascript
关于Ext中form移除textfield方法:hide(),setVisible(false),remove()
Dec 02 Javascript
使用JavaScript实现网页版Pongo设计思路及源代码分享
Jun 16 Javascript
javascript中函数作为参数调用的方法
Feb 09 Javascript
Angular中的Promise对象($q介绍)
Mar 03 Javascript
Bootstrap每天必学之导航组件
Apr 25 Javascript
jQuery中Ajax全局事件引用方式及各个事件(全局/局部)执行顺序
Jun 02 Javascript
AngularJS动态生成div的ID源码解析
Aug 29 Javascript
easyui combogrid实现本地模糊搜索过滤多列
May 13 Javascript
Ajax高级笔记 JavaScript高级程序设计笔记
Jun 22 Javascript
详解使用create-react-app快速构建React开发环境
May 16 Javascript
浅谈 JavaScript 沙箱Sandbox
Nov 02 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
杏林同学录(二)
2006/10/09 PHP
用PHP和ACCESS写聊天室(七)
2006/10/09 PHP
基于Discuz security.inc.php代码的深入分析
2013/06/03 PHP
比较strtr, str_replace和preg_replace三个函数的效率
2013/06/26 PHP
PHP使用递归生成文章树
2015/04/21 PHP
PHP MPDF中文乱码的解决方式
2015/12/08 PHP
JavaScript高级程序设计 阅读笔记(十二) js内置对象Math
2012/08/14 Javascript
JS上传前预览图片实例
2013/03/25 Javascript
JS打开新窗口的2种方式
2013/04/18 Javascript
javascript模拟实现C# String.format函数功能代码
2013/11/25 Javascript
jQuery中:checked选择器用法实例
2015/01/04 Javascript
js实现仿MSN带关闭功能的右下角弹窗代码
2015/09/04 Javascript
jQuery隐藏和显示效果实现
2016/04/06 Javascript
用jQuery实现可输入多选下拉组合框实例代码
2017/01/18 Javascript
解决vue项目报错webpackJsonp is not defined问题
2018/03/14 Javascript
在 Vue 应用中使用 Netlify 表单功能的方法详解
2019/06/03 Javascript
vue+elementUi图片上传组件使用详解
2019/08/20 Javascript
layer.confirm()右边按钮实现href的例子
2019/09/27 Javascript
[03:04]DOTA2超级联赛专访ZSMJ “莫名其妙”的逆袭
2013/05/23 DOTA
python调用shell的方法
2013/11/20 Python
树莓派中python获取GY-85九轴模块信息示例
2013/12/05 Python
Python运算符重载用法实例
2015/05/28 Python
python提取字典key列表的方法
2015/07/11 Python
使用Python的PIL模块来进行图片对比
2016/02/18 Python
Onzie官网:美国时尚瑜伽品牌
2019/08/21 全球购物
const char*, char const*, char*const的区别是什么
2014/07/09 面试题
地理科学专业毕业生求职信
2013/10/15 职场文书
自荐信包含哪些内容
2013/10/30 职场文书
在校硕士自我鉴定
2014/01/23 职场文书
高中同学会活动方案
2014/08/14 职场文书
实践论读书笔记
2015/06/29 职场文书
2015年电气技术员工作总结
2015/07/24 职场文书
小学学习委员竞选稿
2015/11/20 职场文书
2016年党员创先争优承诺书
2016/03/25 职场文书
MySQL kill不掉线程的原因
2021/05/07 MySQL
pytorch DataLoader的num_workers参数与设置大小详解
2021/05/28 Python