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

Sắp xếp mảng thứ hai theo các phần tử của mảng đầu tiên trong JavaScript

Giả sử, chúng ta có hai mảng như thế này -

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

Chúng tôi được yêu cầu viết một hàm JavaScript chấp nhận hai mảng này. Các hàm nên sắp xếp mảng thứ hai theo các phần tử của mảng đầu tiên.

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 đầu tiên.

Do đó, đầu ra sẽ giống như -

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

Do đó, hãy viết mã cho chức năng này -

Ví dụ

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

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

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

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