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

JavaScript:개체의 개체 정렬

<시간/>

다음과 같은 Object of Object가 있다고 가정해 보겠습니다. -

const obj = {
   "CAB": {
      name: 'CBSSP',
      position: 2
   },
   "NSG": {
      name: 'NNSSP',
      position: 3
   },
   "EQU": {
      name: 'SSP',
      position: 1
   }
};

우리는 그러한 배열을 취하고 하위 개체의 '위치' 속성을 기반으로 하위 개체를 정렬하는 JavaScript 함수를 작성해야 합니다(오름차순 또는 내림차순).

예시

이에 대한 코드는 -

const obj = {
   "CAB": {
      name: 'CBSSP',
      position: 2
   },
   "NSG": {
      name: 'NNSSP',
      position: 3
   },
   "EQU": {
      name: 'SSP',
      position: 1
   }
};
const sortByPosition = obj => {
   const order = [], res = {};
   Object.keys(obj).forEach(key => {
      return order[obj[key]['position'] - 1] = key;
   });
   order.forEach(key => {
      res[key] = obj[key];
   });
   return res;
}
console.log(sortByPosition(obj));

출력

콘솔의 출력은 -

{
   EQU: { name: 'SSP', position: 1 },
   CAB: { name: 'CBSSP', position: 2 },
   NSG: { name: 'NNSSP', position: 3 }
}