我對JS delete()
函數有點麻煩。按索引刪除數組
直接從Chrome檢查:
> x = [{name: 'hello'}, {name: 'world'}]
> [Object, Object]
> delete x[0]
> true
> $.each (x, function (i, o) {console.log(o.name);})
> TypeError: Cannot read property 'name' of undefined
> x
> [undefined × 1, Object]
你有任何想法,爲什麼發生這種情況?它導致我的問題each
我會考慮拼接。 我更喜歡'delete()',因爲我刪除了'each()'中的項目。 – ep0
在數組上迭代時刪除元素的意圖是什麼? – stavarotti
我有一個列表中的元素(最初是空的,然後添加到它)。這些元素有一個「數量」字段 現在我通過添加更多元素來更新該列表。 對於Limbo中的每個存在元素,我更新數量,對於不存在的元素,我將它們與'quantity' = 1相加。 我迭代要添加的元素,並且如果我在Limbo中找到它,我增加'數量'並刪除項目。 迭代完成後,我所擁有的就是需要添加的元素,所以我曾經迭代過。 – ep0