0
謝謝您停止。我對我的代碼感到困惑。我嘗試了不同的變體,但仍然無法從obs數組中刪除單個鍵。例如:刪除陣列中的特定鍵
var cart = [];
var obj = {};
var newObj = {};
obj["mcdonald"] = "food"
obj["starbucks"] = "coffee"
newObj["new"] = "books"
newObj["old"] = "books"
cart.push(obj);
cart.push(newObj)
現在我們只想刪除一個鍵。比方說,只需要newObj對象中值爲「books」的「new」鍵而不是整個對象。每一次我都會刪除整個對象而不是僅僅一個鍵。有人可以告訴我我可能錯過了什麼,或者我錯了什麼。這是我正在做的功課。我注意到測試通過了,因爲我們需要刪除我們放入參數的項目,但我想能夠以正確的方式學習它。意思是,移動一個鍵不是整個對象。
function removeFromCart(itemName){
for(var newArr in cart){
if (cart.hasOwnProperty(newArr)) {
var item = Object.keys(cart[newArr])[0]
if (item === itemName) {
var index = cart.indexOf(itemName)
cart.splice(index, 1)
} else {
alert('That item is not in your cart.')
}
}
}
return cart
}
不是'刪除cart [itemName]'工作嗎? – apokryfos
@apokryfos如果我這樣做了,似乎沒有通過測試。我刪除了var index和cart.splice(index,1),它說測試失敗,因爲沒有被刪除。 –