var arr = [ 'key', 'value' ];
console.log(arr);
var obj = { arr[0] : arr[1] };
console.log(obj);
在执行此数组到对象的转换时遇到错误。但是,这不是问题:
var arr = [ 'key', 'value' ];
var key = arr[0];
var value = arr[1];
var obj = { key : value };
console.log(obj);
为什么数组替换无效?我在做什么错了?
答案 0 :(得分:8)
var arr = [ 'key', 'value' ];
console.log(arr);
var obj = { [arr[0]] : arr[1] };
console.log(obj);
我认为问题出在关键部分。看看我是怎么做到的。
答案 1 :(得分:2)
您需要computed property name作为对象文字。
{ [key]: value }
^^^^^ left hand side brackets, takes value of key