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

JavaScript - Hợp nhất hai mảng theo thuộc tính id

Giả sử chúng ta có hai mảng đối tượng, mảng đầu tiên chứa một số đối tượng có id người dùng và tên người dùng.

Mảng chứa các đối tượng có id người dùng và địa chỉ người dùng.

Mảng là -

 const arr1 =[{"id":"123", "name":"name 1"}, {"id":"456", "name":"name 2"}]; const arr2 =[ {"id":"123", "address":"address 1"}, {"id":"456", "address":"address 2"}]; 

Chúng tôi được yêu cầu viết một hàm JavaScript nhận vào hai mảng như vậy và hợp nhất hai mảng này để tạo thành một mảng thứ ba.

Mảng thứ ba phải chứa id người dùng, tên và đối tượng địa chỉ của những người dùng tương ứng.

Ví dụ

Mã cho điều này sẽ là -

 const arr1 =[{"id":"123", "name":"name 1"}, {"id":"456", "name":"name 2"}]; const arr2 =[ {"id":"123", "address":"address 1"}, {"id":"456", "address":"address 2"}]; const mergeArrays =(arr1 =[], arr2 =[]) => {let res =[]; res =arr1.map (obj => {const index =arr2.findIndex (el => el ["id"] ==obj ["id"]); const {address} =index! ==-1? arr2 [ index]:{}; return {... obj, address};}); return res;}; console.log (mergeArrays (arr1, arr2)); 

Đầu ra

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

 [{id:'123', name:'name 1', address:'address 1'}, {id:'456', name:'name 2', address:'address 2'}]