只需要重置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(布尔);令人敬畏的自由;应用于数组,并避免移除非空对象。