我有一个返回数组的for循环: 返回
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. return
我想要的是指数的实际数量,即我需要它为5.我怎么能这样做...当我每次从0开始进入每个循环以便我得到适当的时候有一种方法所有循环中的长度?
答案 0 :(得分:30)
使用Array.filter:
可以很容易地完成resetArr = orgArr.filter(function(){return true;});
答案 1 :(得分:4)
您可以将数组中的所有元素复制到索引从零开始的新数组中。
E.g。
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);
答案 2 :(得分:2)
答案 3 :(得分:0)
容易
var filterd_array = my_array.filter(Boolean);