美文网首页
ES6 Array(有时间再补)

ES6 Array(有时间再补)

作者: 可爱的木头 | 来源:发表于2017-08-15 11:40 被阅读0次

Array.prototype.copyWithin(target,start=0,end = this.length)
1.target(必须):从该位置开始替换数据
2.start(可选):从该位置开始读取数据,默认为0.如果为负值,表示倒数。
3.end(可选):到该位置前停止读取数据,默认等于数组长度。如果为负值,表示倒数

[1,2,3,4,5].copyWithin(0,3,4)
//[4,2,3,4,5]
[].copyWithin.call({length: 5, 3: 1}, 0, 3)
//{0: 1, 3: 1, length: 5}

//总结:就是用call的方法将{length:5,3:1}对象调用[]数组中的copyWith的方法从0开始替换 读取从索引值3开始数据进行替换  因为索引3为1 4和5都不存在 所以最终的结果为{0: 1, 3: 1, length: 5}
(function(objectLikeArray, targetIn,startIndex){
var target= targetIn;
for(var i= startIndex;i<objectLikeArray.length;i++){
    //if(objectLikeArray.hasOwnProperty(i)){
    if(i in objectLikeArray){
      objectLikeArray[target]=objectLikeArray[i];
    }else{
      delete objectLikeArray[target]
    }
    target++;
}
return objectLikeArray;
}({length: 5, 3: 1},0,3));

相关文章

网友评论

      本文标题:ES6 Array(有时间再补)

      本文链接:https://www.haomeiwen.com/subject/etvmrxtx.html