Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/443.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
只需要重置Javascript数组的索引_Javascript_Arrays_Indexing_Indexof - Fatal编程技术网

只需要重置Javascript数组的索引

只需要重置Javascript数组的索引,javascript,arrays,indexing,indexof,Javascript,Arrays,Indexing,Indexof,我有一个for循环,它返回一个数组 返回: 1st loop: arr[0] arr[1] arr[2] arr[3] 2nd loop arr[4] arr[5] arr[6] arr[7] arr[8] 这里我得到的长度是4(不是问题) 返回: 1st loop: arr[0] arr[1] arr[2] arr[3] 2nd loop arr[4] arr[5] arr[6] arr[7] arr[8] 这里我得到的长度是9 这里我想要的是索引的实际计数,即我需要它是5。我

我有一个
for
循环,它返回一个数组

返回:

1st loop:
arr[0]
arr[1]
arr[2]
arr[3]
2nd loop
arr[4]
arr[5]
arr[6]
arr[7] 
arr[8] 
这里我得到的长度是
4
(不是问题)

返回:

1st loop:
arr[0]
arr[1]
arr[2]
arr[3]
2nd loop
arr[4]
arr[5]
arr[6]
arr[7] 
arr[8] 
这里我得到的长度是
9


这里我想要的是索引的实际计数,即我需要它是
5
。我怎样才能做到这一点。有没有一种方法,当我每次从
0
开始进入每个循环时,都能在所有循环中获得适当的长度?

你可以将数组中的所有元素复制到一个新数组中,该数组的索引从零开始

例如

也许“underline.js”在这里会有用

函数的作用是:返回一个数组的副本,其中没有未定义的


请参阅:

这可以使用Array.filter在本机轻松完成:

resetArr = orgArr.filter(function(){return true;});
轻松


你能发布相关的代码吗?你首先需要向我们展示你正在使用的循环、循环中的条件以及数组的初始化。我爱你,疯狂的雷姆林..你创造了我的一天,不客气!正如您所知,这是一个糟糕的问题解决方案--您可能应该选择一个新的数据结构,例如一个链表,它允许您删除项目,而无需每次重新创建数组。此外,如果你找到了问题的解决方案,你应该选择一个答案!这对我来说太完美了+1清洁溶液。即使使用相同的数组,它也可以工作:origar=origar.filter(…)注意,这对IE短一点的版本不起作用:resetArr=orgArr.filter(布尔);令人敬畏的自由;应用于数组,并避免移除非空对象。