使用 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+ 瀏覽量

開啟你的職業生涯

完成課程獲得認證

開始
廣告