Cho parentArray chứa nhiều mảng con cùng kích thước, mỗi mảng con là mảng đối tượng có key và value. Trong mảng con không trùng key, nhưng các mảng con có cùng cặp key.
Tạo object với key là key đối tượng, value là mảng chứa tất cả value cho key đó.
Mảng mẫu:
const parentArray = [[ { key: 123, value: 'India' }, { key: 124, value: 'USA' }, { key: 125, value: 'Japan' }, { key: 126, value: 'Denmark' }, { key: 127, value: 'Austria' }, ], [ { key: 124, value: 'Kenya' }, { key: 126, value: 'UK' }, { key: 123, value: 'Germany' }, { key: 127, value: 'Spain' }, { key: 125, value: 'Portugal' }, ]];Duyệt parentArray, các mảng con, nếu key đã có thì push value, ngược lại tạo mảng mới.
Ví dụ
const parentArray = [[ { key: 123, value: 'India' }, { key: 124, value: 'USA' }, { key: 125, value: 'Japan' }, { key: 126, value: 'Denmark' }, { key: 127, value: 'Austria' }, ], [ { key: 124, value: 'Kenya' }, { key: 126, value: 'UK' }, { key: 123, value: 'Germany' }, { key: 127, value: 'Spain' }, { key: 125, value: 'Portugal' }, ]]; const map = {}; parentArray.forEach(arr => { arr.forEach(obj => { const { key, value } = obj; if(map[key]){ map[key].push(value); }else{ map[key] = [value] } }) }); console.log(map);Kết quả
Đầu ra console:
{ '123': [ 'India', 'Germany' ], '124': [ 'USA', 'Kenya' ], '125': [ 'Japan', 'Portugal' ], '126': [ 'Denmark', 'UK' ], '127': [ 'Austria', 'Spain' ] }