今天遇到一个没见过的数组操作方法,按照国际惯例:
let arr = [1,2,3,4];
let arr1 = [];
for (let i=0;i<arr.length;i++) {
arr1.push(arr[i]);
arr.splice(i,1);
console.log(arr1);
}
我以为的打印结果是:
// [1]
// (2) [1, 2]
// (3) [1, 2, 3]
// (4) [1, 2, 3, 4]
实际打印结果是:
// [1]
// (2) [1, 3]
i不断增加,arr数组的长度不断缩短.
解决:
i--;
哈哈,一开始遇到没想到是这个问题.在别的地方找了半天…