1 回答

TA貢獻(xiàn)1786條經(jīng)驗(yàn) 獲得超13個(gè)贊
不要忘記用“l(fā)et”聲明你的for循環(huán)變量。一旦添加了let,它就可以正常工作。(在 deleteItem 函數(shù)中也是如此)
for(let i = 0; i < testArray.length; i++){
console.log(testArray[i]);
console.log(deleteItem(testArray[i]));
}
當(dāng)您循環(huán)遍歷您的 testArray 并輸出每個(gè)元素時(shí)沒有問題,但是在您的 deleteItem() 函數(shù)中,您有另一個(gè)帶有名為“i”的變量的 for 循環(huán),該變量未在本地聲明。
這意味著:您以全局 i = 0 開始 testArray 循環(huán)。然后調(diào)用 deleteItem 函數(shù),該函數(shù)也將相同的全局 i 用于其 for 循環(huán)。所以在 deleteItem 函數(shù)完成后,全局 i 設(shè)置為 4,原來的 for 循環(huán)條件不再成立。這就是為什么不為您的第二個(gè) testArray 元素調(diào)用 deleteItem 函數(shù)的原因。
添加回答
舉報(bào)