ありがとうございます。私は私のコードに関して混乱しています。私はさまざまなバリエーションを試みましたが、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"キーだけを考えてみましょう。一度に1つのキーの代わりにオブジェクト全体が削除されます。誰かが私に何が欠けているか、どこに間違っているか教えてください。これは私が取り組んでいる宿題です。私はパラメータに配置する項目を削除する必要があるため、テストに合格したことに気づきましたが、正しい方法で学習できるようにしたいと考えています。意味、オブジェクト全体ではなく単一のキーを移動する。
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
}
'カート[itemName]'を削除しませんか? – apokryfos
@apokryfosそのようにすればテストに合格していないようです。私はvar indexとcart.splice(index、1)を削除しました。何も削除されていないので、テストは失敗しました。 –