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

Sắp xếp mảng thứ hai theo thứ tự phần tử của mảng thứ nhất trong JavaScript

Sắp xếp mảng thứ hai theo thứ tự phần tử của mảng thứ nhất trong 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 một hàm JavaScript chấp nhận hai mảng này. Hàm nên sắp xếp mảng thứ hai theo các phần tử của mảng thứ nhất.

Chúng ta phải sắp xếp các khóa của mảng thứ hai theo các phần tử của mảng thứ nhất.

Do đó, kết quả đầu ra nên trông như:

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

Do đó, hãy viết mã cho hàm này:

Ví dụ

Mã thực hiện như sau:

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

Đầu ra

Kết quả trong console sẽ là:

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