使用 JavaScript 中的 map 或 reduce 将 2D 数组转换为对象


假设,我们有一个二维数组,其中包含一些关于若干人年龄的数据。

数据由以下二维数组给出

const data = [
   ['Rahul',23],
   ['Vikky',27],
   ['Sanjay',29],
   ['Jay',19],
   ['Dinesh',21],
   ['Sandeep',45],
   ['Umesh',32],
   ['Rohit',28],
];

我们需要编写一个函数,其接受该 2-D 数据数组作为输入,并返回一个对象,其中键为每个子数组的第一个元素,即字符串,值为第二个元素。

我们将使用 Array.prototype.reduce() 方法来构造此对象,执行此操作的代码为 −

示例

const data = [
   ['Rahul',23],
   ['Vikky',27],
   ['Sanjay',29],
   ['Jay',19],
   ['Dinesh',21],
   ['Sandeep',45],
   ['Umesh',32],
   ['Rohit',28],
];
const constructObject = arr => {
   return arr.reduce((acc, val) => {
      const [key, value] = val;
      acc[key] = value;
      return acc;
   }, {});
};
console.log(constructObject(data));

输出

控制台中的输出将是 −

{
   Rahul: 23,
   Vikky: 27,
   Sanjay: 29,
   Jay: 19,
   Dinesh: 21,
   Sandeep: 45,
   Umesh: 32,
   Rohit: 28
}

更新时间:2020-08-25

1K+ 浏览量

开启你的职业生涯

完成课程获得认证

开始
广告