copywithin属性

例:

let arr1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];       

console.log(arr1.copyWithin(2, 3, 5));       

//结果是[1,2,4,5,5,6,7,,8,9,10]

arr . copywithin(),括号内接3个参数,包括一个必须和两个可选,

第一个参数为必须填写的值,表示复制(copy)的目标位置,由于下标是从0开始的,所以上述2的位置应该是‘’3‘’,

第二个数为复制对象的起始位置,上述为3,根据下标我们能得到该对应位置为'‘4’‘,

第三个参数为复制对象的结束位置,如果不填写该参数,则默认自第二参数位置后所有的元素,按上述例子的话则是’4‘’5‘‘6’‘7’‘8’‘9’‘10’,第三个参数若给具体值则取区间值(这里我们让第二个参数的值为a,第三个参数的值为b,则该取值区间为【a,b),即>=a而<b的数组元素),上述例子中即【3,5),即‘’4‘’‘’5‘’,

最后就是执行了,由于该方法返回的是原数组,因此该方法会改变原数组元素,

案例分析则是:将【3,5)替换‘’2‘’,即把,3替换成4,5,

注意!虽然第一个参数只有一位被选中,但是第二三个参数所产生的取值区间内的元素可能会不只一个,因此在替换时,会将原来数组内相同的元素整体替换(即虽然只选择了3,但是复制对象为4,5,因此原本的3,4位置便被4,5代替了。)

以下为关系图:

第一次:arr1=【1,2,3,4,5,6,7,8,9,10】

第二次:arr1=【1,2,3,4,5,6,7,8,9,10】

第三次:arr1=【1,2,3,4,5,6,7,8,9,10】

第四次:arr1=[1,2,(4,5),4,5,6,7,8,9,10]

第五次:arr1=【1,2,(4,5),5,6,7,8,9,10】

第六次:arr1=【1,2,4,5,5,6,7,8,9,10】

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值