Computer >> Máy Tính >  >> Lập trình >> Javascript

Tìm kiếm và cập nhật mảng dựa trên JavaScript chính

Chúng ta có hai mảng như thế này -

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"}
]

Chúng tôi bắt buộc phải viết một hàm để thêm cấp thuộc tính cho từng đối tượng của arr2, chọn nó từ đối tượng từ arr1 có cùng giá trị cho thuộc tính "POSITION"

Hãy viết mã cho chức năng này -

Ví dụ

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);

Đầu ra

Đầu ra trong bảng điều khiển sẽ là -

[
   { 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 }
]