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

JavaScript 배열로 객체 배열 정렬하기

<시간/>

다음과 같은 객체 배열과 문자열 배열이 있다고 가정해 보겠습니다. -

예시

const orders = [
   { status: "pending"},
   { status: "received" },
   { status: "sent" },
   { status: "pending" }
];
const statuses = ["pending", "sent", "received"];

우리는 그러한 두 개의 배열을 취하는 JavaScript 함수를 작성해야 합니다. 함수의 목적은 상태 배열의 요소에 따라 주문 배열을 정렬하는 것입니다.

따라서 첫 번째 배열의 객체는 두 번째 배열의 문자열에 따라 정렬되어야 합니다.

예시

const orders = [
   { status: "pending" },
   { status: "received" },
   { status: "sent" },
   { status: "pending" }
];
const statuses = ["pending", "sent", "received"];
const sortByRef = (orders, statuses) => {
   const sorter = (a, b) => {
      return statuses.indexOf(a.status) - statuses.indexOf(b.status);
   };
   orders.sort(sorter);
};
sortByRef(orders, statuses); console.log(orders);

출력

콘솔의 출력은 -

[
   { status: 'pending' },
   { status: 'pending' },
   { status: 'sent' },
   { status: 'received' }
]