我是编程初学者。
API后期调用接受对象变量(从变量派生)为字符串,如下所示
"option":
{
"235": “30”
},
{
"238": “32”
}
我的代码角度为6
option = [];
---
this.option.push({
[option.product_option_id]: $event
});
结果
option = [ {
235: 30
}]
,但需要将此变量括在双引号“ 235”中。
请帮助
答案 0 :(得分:4)
但需要将此变量用双引号“ 235”
这意味着您需要将其作为 string 。
不用担心,是的。当您使用数字作为属性名称时,它会自动转换为字符串。属性名称只能是字符串或符号,因此不是字符串或符号的内容将转换为字符串:
class Example {
constructor() {
this.option = [];
const option = {
product_option_id: 42
};
const $event = {};
this.option.push({
[option.product_option_id]: $event
});
const pushed = this.option[0];
for (const key of Object.keys(pushed)) {
console.log(`${key}: ${typeof key}`);
}
}
}
new Example();
也就是说,在计算属性名称的[]
中的表达式就是这样:一个表达式。因此,如果您想露骨,可以在此处使用String
:
option.push({
[String(option.product_option_id)]: $event
});