[英]turn a table into an array of objects in JavaScript
我有桌子
const header = ["name", "age", "hobby"];
const content = [ ["Eva", 3, "dance"],
["Kevin", 5, "ball"],
...];
如何獲得作為對象數組的輸出?
[{name: "Eva", age: 3, hobby: "dance"},
{name: "Kevin", age: 5, hobby: "ball"},
...]
Lodash
(或underscore.js
)庫提供了一些不錯的函數來轉換數據。 這只是一行:
import _ from 'lodash';
const output = content.map((row) => _.zipObject(row, header));
您可以使用javascript來做到這一點:
const header = ["name", "age", "hobby"]; const content = [["Eva", 3, "dance"], ["Kevin", 5, "ball"] ]; const result = []; for (var i = 0; i < content.length; i++) { var obj = {}; for (var j = 0; j < header.length; j++) { obj[header[j]] = content[i][j]; } result.push(obj); } console.log(result);
可以用地圖完成並減少
const header = ["name", "age", "hobby"];
const content = [
["Eva", 3, "dance"],
["Kevin", 5, "ball"]
];
console.log(content.map((item) => {
return header.reduce((acc, cur, i) => {
acc[cur] = item[i];
return acc;
}, {});
}));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.