Chúng ta có hai mảng như sau:
let arr1 = [{"LEVEL":4,"POSITION":"RGM"},{"LEVEL":5,"POSITION":"GM"},{"LEVEL":5,"POSITION":"GMH"}] let arr2 = [{"EMAIL":"test1@stc.com","POSITION":"GM"}, {"EMAIL":"test2@stc.com","POSITION":"GMH"}, {"EMAIL":"test3@stc.com","POSITION":"RGM"}, {"EMAIL":"test3@CSR.COM.AU","POSITION":"GM"} ]Cần viết hàm thêm thuộc tính LEVEL vào mỗi đối tượng của arr2, lấy từ đối tượng trong arr1 có cùng giá trị POSITION.
Dưới đây là mã:
Ví dụ
let arr1 = [{"LEVEL":4,"POSITION":"RGM"},{"LEVEL":5,"POSITION":"GM"},{"LEVEL":5,"POSITION":"GMH"}] let arr2 = [{"EMAIL":"test1@stc.com","POSITION":"GM"}, {"EMAIL":"test2@stc.com","POSITION":"GMH"}, {"EMAIL":"test3@stc.com","POSITION":"RGM"}, {"EMAIL":"test3@CSR.COM.AU","POSITION":"GM"} ] const formatArray = (first, second) => { second.forEach((el, index) => { const ind = first.findIndex(item => item["POSITION"] === el["POSITION"]); if(ind !== -1){ second[index]["LEVEL"] = first[ind]["LEVEL"]; }; }); }; formatArray(arr1, arr2); console.log(arr2);Kết quả
Đầu ra trong console sẽ là:
[ { EMAIL: 'test1@stc.com', POSITION: 'GM', LEVEL: 5 }, { EMAIL: 'test2@stc.com', POSITION: 'GMH', LEVEL: 5 }, { EMAIL: 'test3@stc.com', POSITION: 'RGM', LEVEL: 4 }, { EMAIL: 'test3@CSR.COM.AU', POSITION: 'GM', LEVEL: 5 } ]