我有一个返回数组的for循环:return
1st loop:
arr[0]
arr[1]
arr[2]
arr[3] Here length that i get is 4 (Not a problem)
返回
2nd loop
arr[4]
arr[5]
arr[6]
arr[7]
arr[8]
我得到的长度是9.返回
我想要的是索引的实际数量,即我需要它为5.我怎么能这样做...当我每次进入每个循环时,有一种方法从0开始,这样我就可以得到所有的长度循环?
这很容易使用Array.filter本地完成:
resetArr = orgArr.filter(function(){return true;});
您可以将数组中的所有元素复制到索引从零开始的新数组中。
EG
function startFromZero(arr) {
var newArr = [];
var count = 0;
for (var i in arr) {
newArr[count++] = arr[i];
}
return newArr;
}
// messed up array
x = [];
x[3] = 'a';
x[4] = 'b';
x[5] = 'c';
// everything is reordered starting at zero
x = startFromZero(x);
简单,
var filterd_array = my_array.filter(Boolean);