【发布时间】:2021-08-21 13:44:01
【问题描述】:
不应该将参数(产品和数量)替换为参数(“面包”和5)并成为对象键吗?相反,参数在对象值中,我很困惑不是参数只是参数的占位符吗?
const cart = [];
const addtoCart = function (product, quantity) {
cart.push({ product, quantity });
};
addtoCart('bread', 5);
console.log(cart); //returns {"product": "bread","quantity": 5}
【问题讨论】:
-
它们被替换了。您的代码正在做它应该做的事情;你期待什么?
cart.push({ product, quantity });表示cart.push({product: product, quantity: quantity});— 换句话说,它创建一个对象,其属性名称和值取自参数名称及其值。 -
推送函数内的代码是这个
{ product: product, quantity: quantity }的简写 -
我期待 {"bread": undefined,"5": undefined}
-
您的预期不正确。参见上面的 cmets。
-
你想要
cart.push({ [product]: quantity });吗?
标签: javascript arrays javascript-objects