因此,我对此FOR循环有一个问题,只是无法弄清楚。在这种情况下,我知道这需要至少重复两次。数组至少看起来像这样...
dTrackerArray = {sParentValue, 1234, sParentValue, 5678}
但是出于某种原因,此for循环仅删除一个实例,而不是全部实例。
var check = $.inArray(sParentValue, dTrackerArray);
if (check != -1) {
for(var i = dTrackerArray.length; i > 0; i--) {
if( dTrackerArray[i] === sParentValue ) {
dTrackerArray.splice(i,1);
dTrackerArray.splice(i-1,1);
}
}}
我非常感谢能在这里获得的任何帮助!谢谢!
编辑:第二个拼接是删除与sParentValue关联的1234。看来工作正常。
最佳答案
问题在for循环中。您从以下位置开始:var i = dTrackerArray.length
并采用dTrackerArray[i]
这个元素不存在。另外,您忘记了与0索引元素进行交互。因此,您必须将for循环更改为:
for(var i = dTrackerArray.length-1; i >= 0; i--)