เรามีสองอาร์เรย์แบบนี้ -
let arr1 = [{"LEVEL":4,"POSITION":"RGM"},{"LEVEL":5,"POSITION":"GM"},{"LEVEL":5,"POSITION":"GMH"}] let arr2 = [{"EMAIL":"[email protected]","POSITION":"GM"}, {"EMAIL":"[email protected]","POSITION":"GMH"}, {"EMAIL":"[email protected]","POSITION":"RGM"}, {"EMAIL":"[email protected]","POSITION":"GM"} ]
เราจำเป็นต้องเขียนฟังก์ชันที่เพิ่มระดับคุณสมบัติให้กับแต่ละวัตถุของ arr2 โดยเลือกจากวัตถุจาก arr1 ที่มีค่าเท่ากันสำหรับคุณสมบัติ "POSITION"
มาเขียนโค้ดสำหรับฟังก์ชันนี้กัน −
ตัวอย่าง
let arr1 = [{"LEVEL":4,"POSITION":"RGM"},{"LEVEL":5,"POSITION":"GM"},{"LEVEL":5,"POSI TION":"GMH"}] let arr2 = [{"EMAIL":"[email protected]","POSITION":"GM"}, {"EMAIL":"[email protected]","POSITION":"GMH"}, {"EMAIL":"[email protected]","POSITION":"RGM"}, {"EMAIL":"[email protected]","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);
ผลลัพธ์
ผลลัพธ์ในคอนโซลจะเป็น -
[ { EMAIL: '[email protected]', POSITION: 'GM', LEVEL: 5 }, { EMAIL: '[email protected]', POSITION: 'GMH', LEVEL: 5 }, { EMAIL: '[email protected]', POSITION: 'RGM', LEVEL: 4 }, { EMAIL: '[email protected]', POSITION: 'GM', LEVEL: 5 } ]