Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Chuyển dữ liệu bảng 2D thành mảng đối tượng trong JavaScript

Cho mảng lồng nhau, mỗi phần tử con chứa [name, date, value]. Gom nhóm theo name, tạo đối tượng với name và các cặp date-value.

Ví dụ

const arr = [    ["Ashley","2017-01-10",80],    ["Ashley","2017-02-10",75],    ["Ashley","2017-03-10",85],    ["Clara","2017-01-10",90],    ["Clara","2017-02-10",82] ]; const groupArray = (arr = []) => {    let grouped = [];    grouped = arr.reduce(function (hash) { return function (r, a) {       if (!hash[a[0]]) {          hash[a[0]] = {             name: a[0] };             r.push(hash[a[0]]);       }       hash[a[0]][a[1]] = a[2];       return r;    }; } (Object.create(null)), []);    return grouped; } console.log(groupArray(arr));

Kết quả

[    { name: 'Ashley',    '2017-01-10': 80,    '2017-02-10': 75,    '2017-03-10': 85    },    { name: 'Clara',    '2017-01-10': 90,    '2017-02-10': 82 } ]