javascript - 在 Javascript 中为 JSON 对象赋值

标签 javascript json object assign

这就是我试图通过 JavaScript 以点或 [ ] 表示法构建的内容:

var shoppingCart = { 
        'item1' : {
            'description' : 'This is item #1',
            'price' : 10,
            'quantity' : 1,
            'shipping' : 0,
            'total' : 10
        }
    };

现在如果 'item1' 是变量名 itemName

这个有效:
var shoppingCart = {};
shoppingCart[itemName] = itemName;
alert(shoppingCart.item1);

返回 item1

但这行不通:
1 var shoppingCart = {};
2 shoppingCart[itemName]['description'] = '这是商品 #1';

JS 刚在第 2 行就死了,为什么?以及如何将描述值分配给“描述”?

我会这样做:

var shoppingCart = { 
        itemName : {
            'description' : description,
            'price' : price,
            'quantity' : quantity,
            'shipping' : shipping,
            'total' : total
        }
    };

...但它使 key 字面意思是 itemName 而不是 item1

最佳答案

shoppingCart[itemName] 不存在。
您需要先创建它:

var shoppingCart = {};
shoppingCart[itemName] = { };
shoppingCart[itemName].description = 'This is Item #1';

或者,更好的是:

var shoppingCart = {};
shoppingCart[itemName] = { description: 'This is Item #1' };

关于javascript - 在 Javascript 中为 JSON 对象赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8965135/

相关文章:

javascript - 将 div 动画代码转换为 vanilla JS

javascript - 仅搜索和删除我在 Google 云端硬盘共享文件夹中创建的文件的脚本

json - 如果 Content-Type 是 application/json,空体是否正确?

函数返回的Javascript(node.js)值未定义?

java - 获取指向持久对象的指针

javascript - 如何销毁 JavaScript 对象?

javascript - Highcharts 列区域

javascript - 从 JSON 动态定义 ReactJS 路由

javascript - 将新对象作为参数传递给仅更改 1 个值的函数

javascript - AngularJS 中带有 toFixed 值的输入类型编号失败