将简单数组转换为对象

时间:2018-06-20 02:58:51

标签: javascript

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);

为什么数组替换无效?我在做什么错了?

2 个答案:

答案 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