我有这个功能的问题我正在写作。
function addToCart(item) {
let price = Math.floor(Math.random() * 100 + 1);
cart.push({ item: price });
console.log(`${item} has been added to your cart.`);
return cart;
};
当我查看我的购物车阵列中存储的内容时,它有"项目:32"例如,而不是作为参数传递的项目名称。
答案 0 :(得分:3)
更改
cart.push({ item: price });
到
var temp = {};
temp[item] = price;
cart.push(temp);
在声明对象后,在temp对象上创建一个新属性。
如果您可以使用 ES6 ,那么只需
cart.push({ [item]: price })
这将在创建对象时评估变量item
。在ES5中,您不能将变量用作对象文字中的属性名称。