将2D数组转换为对象

时间:2018-10-30 11:39:31

标签: javascript arrays object ecmascript-6

我该如何转换

[["name", "oni"], ["age",2]]

[{name:"oni"}, {age:2}]

3 个答案:

答案 0 :(得分:6)

您可以使用.map()遍历数组并以所需的(对象)格式返回值:

let data = [["name", "oni"], ["age",2]];

let result = data.map(([key, value]) => ({[key]: value}));

console.log(result);

答案 1 :(得分:2)

new_array = your_array.map((entry)=>{
    return {[entry[0]]: entry[1]}
})
console.log(new_array)

答案 2 :(得分:-1)

假设属性键是唯一的,为什么不使用reduce创建单个对象呢?与具有一个属性的对象数组相比,单个对象要容易得多。

const arr = [["name", "oni"], ["age",2]];
const obj = arr.reduce((acc, c) => {
  acc[c[0]] = c[1];
  return acc;
}, {});
console.log(obj);

然后仅以点表示法获取值:obj.name

相关问题