【问题标题】:Iterate through Object keys in Javascript遍历 Javascript 中的对象键
【发布时间】:2016-10-03 01:55:41
【问题描述】:

拥有这样的对象:

req.body = {
    currency : "USD",
    item_name_1: "something",
    item_price_1: "something else",
    item_name_2: "something",
    item_price_2: "something else",
    item_name_3: "something",
    item_price_3: "something else",
    address: "some address"   
    itemCount: 3     
}

什么是仅获取仅项目名称的键/值对的最佳方法??,我会尝试这样的事情,但当然它不起作用:

var cart= "";
for (var i=1; i<= req.body.itemCount;i++){
    cart += req.body.item_name_+i+
        " "+req.body.item_price_+i;       
}

提前致谢!

【问题讨论】:

    标签: javascript javascript-objects simplecart


    【解决方案1】:

    代替

    req.body.item_name_+i
    

    这将起作用:

    req.body["item_name_" + i]
    

    但是,如果可以的话,我强烈建议您重新考虑您的方法,并将您的数据重构为:

    req.body = {
        currency : "USD",
        items: [
            { name: "something", price: "something else" },
            { name: "something", price: "something else" },
            { name: "something", price: "something else" }
        ],
        address: "some address"   
    }
    

    【讨论】:

      【解决方案2】:

      没有检查这个,所以可能需要弄乱它,但我相信它会是这样的:

      req.body["item_name_" + i]
      

      和

      req.body["item_price_" + i]
      

      【讨论】:

        【解决方案3】:

        如果您想根据字符串文字或字符串从对象中获取值,则需要使用[] 表示法,其中[] 之间的值是字符串。您可以通过 + 运算符从字符串文字和变量构建字符串。将您的字符串连接更改为:

        cart += req.body["item_name_" + i] 
                + " " 
                + req.body["item_price_" + i];    
        

        【讨论】:

          猜你喜欢
          • 2018-07-15
          • 2017-08-30
          • 1970-01-01
          • 2017-12-28
          • 2017-12-17
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-10-13
          相关资源
          最近更新 更多