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 } ]