如何将数组数组转换为从第一个数组获取键的对象数组?

app*_*ppy 2 javascript arrays javascript-objects

我有一个变量,它返回一个数组数组,每个数组中的每个项目都用双引号引起来。

var arrayOfArrays = [
  [ "Name", "Age", "Address" ],
  [ "A", "43", "CA" ],
  [ "B", "23", "VA" ],
  [ "C", "24", "NY" ]
]
Run Code Online (Sandbox Code Playgroud)

我需要将其转换为以下内容:

var arrayOfObjects = [
  {"Name":"A", "Age":"43", "Address":"CA"},
  {"Name":"B", "Age":"23", "Address":"VA"},
  {"Name":"C", "Age":"24", "Address":"NY"}
]
Run Code Online (Sandbox Code Playgroud)

Rob*_*sen 7

使用Array.prototype.slice()Array.prototype.map()Array.prototype.forEach()

let arrays = [
  ["Name", "Age", "Address"],
  ["A", "43", "CA"],
  ["B", "23", "VA"],
  ["C", "24", "NY"]
];

let keys = arrays[0];
let values = arrays.slice(1);
let objects = values.map(array => {
  let object = {};

  keys.forEach((key, i) => object[key] = array[i]);
  
  return object;
});

console.log(JSON.stringify(objects));
Run Code Online (Sandbox Code Playgroud)

  • 这是纯JavaScript,与AngularJS或Angular 2没有关系。顺便说一句,您自己在问题中添加了“ angular2”标签。 (3认同)