2017-03-13 4 views
0

からキー値ペアを削除しようとしています。私は、アイテムを受け取り、現在のショッピングカート(オブジェクト)を調べ、アイテムがカート内にあるかどうかをチェックし、真であればそれを削除し、「そのアイテムはカートにありません」を返す関数を記述しようとしています。 falseの場合私はこれまでこれを持っています。買い物リスト

var cart = {} 

function removeFromCart(item){ 
var cartItems = Object.keys(cart) 
for (var i=0; i<cartItems.length ; i++){ 
    if (cartItems[i]===item){ 
    delete cart.item 
    return 
    } 
    else if (i === cartItems.length) { 
    console.log("That item is not in your cart.") 
    } 
    } 
} 
+0

を")"がforループの後に置かれます。注:私はあなたの問題、ちょうど提案を解決すると言っているわけではありません。また、セミコロンも必ず挿入してください。 –

+0

'item'の定義は何ですか?それは文字列かオブジェクトか? –

+0

はそれを考え出しました!ありがとう! –

答えて

0

次のコードを試してください:あなたは "ELFE-IF" ブロックを省略して、 "はconsole.log(" その項目は、あなたのカートではありませんを挿入することができます

var cart = [{product: 'Laptop'}, {product: 'Mobile'}, {product: 'Telivision'}]; 
 
var itemToRemove = {product: 'Mobile'}; 
 
var cartLength = cart.length; 
 

 
function removeFromCart(item, cart){ 
 
    var i; 
 
    for (i = 0; i < cart.length; i++) { 
 
    if (JSON.stringify(cart[i]) === JSON.stringify(item)) { 
 
     cart.splice(i, 1); 
 
     console.log('Cart after removing item:'); 
 
     console.log(cart); 
 
    } 
 
    else if(i === cartLength-1){ 
 
     console.log('Item does not exist in the list.'); 
 
    } 
 

 
    } 
 
} 
 
removeFromCart(itemToRemove, cart);

関連する問題