美文网首页
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