我有一个for
返回数组的循环。
返回:
1st loop:
arr[0]
arr[1]
arr[2]
arr[3]
我得到的长度是4
(不是问题)。
返回:
2nd loop
arr[4]
arr[5]
arr[6]
arr[7]
arr[8]
我得到的长度是9
.
我在这里想要的是索引的实际计数,即我需要它5
。我怎样才能做到这一点。有没有一种方法可以让我每次进入每个循环时都从它开始,0
以便我在所有循环中获得适当的长度?
我有一个for
返回数组的循环。
返回:
1st loop:
arr[0]
arr[1]
arr[2]
arr[3]
我得到的长度是4
(不是问题)。
返回:
2nd loop
arr[4]
arr[5]
arr[6]
arr[7]
arr[8]
我得到的长度是9
.
我在这里想要的是索引的实际计数,即我需要它5
。我怎样才能做到这一点。有没有一种方法可以让我每次进入每个循环时都从它开始,0
以便我在所有循环中获得适当的长度?
这很容易使用 Array.filter 在本地完成:
resetArr = orgArr.filter(function(){return true;});
您可以将数组中的所有元素复制到一个索引从零开始的新数组中。
例如
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);