美文网首页
数组塌陷问题

数组塌陷问题

作者: 瑞破破 | 来源:发表于2019-10-11 21:13 被阅读0次

    先举个小栗子

    我们想用一个循环,把数组中的每一项都删掉,但是出现了问题,循环结束后,并没有全部删除。

    let arr = [1,2,3]
    for(let i=0;i<arr.length;i++){
       arr.splice(i,1)
    }
    console.log(arr)    //  [2]
    

    解释:
    第一次循环,i=0 ; arr.length=2; 循环后,删除第一项
    此时,数组变为[2,3];
    继续第二次循环,i=1 ; arr.length=2 循环后,删除第二项
    此时发现,数组的第二项是数字3;把第二项删除,最后剩一个数字2
    所以:
    循环每结束一次,删除一项,数组的length以及每一项的下标都会改变,
    最后导致达不到预期的效果

    相关文章

      网友评论

          本文标题:数组塌陷问题

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