代码之家  ›  专栏  ›  技术社区  ›  Vinita

动态创建javascript/jquery对象?

  •  -1
  • Vinita  · 技术社区  · 5 年前

    我有一个购物车,我想在其中向购物车对象添加元素。

    以下是我想做的:

    =)每个项目都有一个唯一的id

    =) 密钥(项目id) 价值(项目数量)

    => once item is added
    

    检查键是否存在,如果存在,则增加值(1)

    否则,请添加一个新的键值对

     var cart ={}
     //if id exists that_id.value +1
     //else add new key value pair
    
    4 回复  |  直到 5 年前
        1
  •  1
  •   Shadab    5 年前

    像这样的?

    var cart = {}
    
    function addToCart(item_id) {
      if (item_id in cart) { // Check if already in cart
        cart[item.id] += 1; // Increment
      }
      else { // Not present in cart
        cart[item_id] = 1; // Assign initial value
      }
    }
    
        2
  •  1
  •   aRvi    5 年前

    这会奏效的

    var cart = {};
    function addItemToCart(item) { 
        if(!cart[item.item_id]) {
            cart[item.item_id] = 0;
        }
        cart[item.item_id]++;
    }
    
        3
  •  1
  •   Sascha    5 年前

    如果要添加值,请按如下方式使用:

     var cart ={};
     
     function addEntry(key, value, cart) {
         if (cart[key] === undefined)
             cart[key] = value;
         else
             cart[key] += value;
     }
     
     addEntry('car', 13, cart);
     addEntry('cat', 7, cart);
     addEntry('mouse', 5, cart);
     addEntry('car', 2, cart);
     addEntry('house', 1, cart);
     
     console.log(cart);

    如果只需要增加1:

     var cart ={};
     
     function addEntry(key, cart) {
         if (cart[key] === undefined)
             cart[key] = 1;
         else
             cart[key]++;
     }
     
     addEntry('car', cart);
     addEntry('cat', cart);
     addEntry('mouse', cart);
     addEntry('car', cart);
     addEntry('house', cart);
     
     console.log(cart);
        4
  •  1
  •   smunteanu    5 年前

    你需要做出一个决定 addToCart 函数,带有1个参数: item -要添加到购物车的项目(字符串)

    function addToCart(item) {
        if (cart.hasOwnProperty(item)) {
            cart[item]++;
        } else {
            cart[item] = 1;
        }
    };