Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Sắp xếp mảng object theo mảng key tham chiếu - JavaScript


Giả sử chúng ta có hai mảng như sau:

const arr1 = ['d','a','b','c'] ; 
const arr2 = [{a:1},{c:3},{d:4},{b:2}];

Chúng ta cần viết hàm nhận vào hai mảng này. Hàm sẽ sắp xếp mảng thứ hai theo thứ tự các phần tử của mảng thứ nhất.

Ta sắp xếp key của mảng thứ hai theo thứ tự phần tử mảng thứ nhất. Kết quả:

const output = [{d:4},{a:1},{b:2},{c:3}];

Ví dụ

Dưới đây là đoạn code:

const arr1 = ['d','a','b','c'] ; 
const arr2 = [{a:1},{c:3},{d:4},{b:2}]; 
const sortArray = (arr1, arr2) => { 
  arr2.sort((a, b) => { 
    const aKey = Object.keys(a)[0]; 
    const bKey = Object.keys(b)[0]; 
    return arr1.indexOf(aKey) - arr1.indexOf(bKey); 
  }); 
}; 
sortArray(arr1, arr2); 
console.log(arr2);

Kết quả

Đoạn code sẽ in ra console:

[ { d: 4 }, { a: 1 }, { b: 2 }, { c: 3 } ]