3 回答

TA貢獻(xiàn)1880條經(jīng)驗(yàn) 獲得超4個(gè)贊
var myArr = [0,1,2,3,4,5,6];
問(wèn)題陳述:
myArr.splice(2,1);
\\ [0, 1, 3, 4, 5, 6];
現(xiàn)在3個(gè)動(dòng)作在第二個(gè)位置移動(dòng),長(zhǎng)度減少1個(gè),從而造成問(wèn)題。
解決方案:一個(gè)簡(jiǎn)單的解決方案是在拼接時(shí)以相反的方向進(jìn)行迭代。
var i = myArr.length;
while (i--) {
// do your stuff
}

TA貢獻(xiàn)1783條經(jīng)驗(yàn) 獲得超4個(gè)贊
如果您安裝了lodash庫(kù),則可能要考慮它們。
函數(shù)是_.forEachRight (從右到左迭代集合的元素)
這是一個(gè)例子。
var searchInput = ["this", "is", "a", "test"];
_.forEachRight(searchInput, function(value, key) {
if (value.length < 4) {
searchInput.splice(key, 1);
}
});
添加回答
舉報(bào)