Giả sử chúng ta có một mảng hai chiều chứa dữ liệu về độ tuổi của một số người:
const data = [ ['Rahul', 23], ['Vikky', 27], ['Sanjay', 29], ['Jay', 19], ['Dinesh', 21], ['Sandeep', 45], ['Umesh', 32], ['Rohit', 28], ];
Yêu cầu là viết một hàm nhận mảng 2D này và trả về một đối tượng với khóa là phần tử đầu tiên của mỗi mảng con (chuỗi) và giá trị là phần tử thứ hai.
Chúng ta sẽ sử dụng Array.prototype.reduce() để xây dựng đối tượng này:
Ví dụ
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));Kết quả
Đầu ra trong console sẽ là:
{ Rahul: 23, Vikky: 27, Sanjay: 29, Jay: 19, Dinesh: 21, Sandeep: 45, Umesh: 32, Rohit: 28 }