Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

다른 키 배열을 기반으로 객체 배열 정렬 - JavaScript

<시간/>

다음과 같은 두 개의 배열이 있다고 가정합니다. -

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

이 두 배열을 허용하는 JavaScript 함수를 작성해야 합니다. 함수는 첫 번째 배열의 요소에 따라 두 번째 배열을 정렬해야 합니다.

첫 번째 배열의 요소에 따라 두 번째 배열의 키를 정렬해야 합니다. 이것은 다음과 같은 출력을 생성합니다 -

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

예시

다음은 코드입니다 -

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

출력

이것은 콘솔에서 다음과 같은 출력을 생성합니다 -

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