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

JavaScript에서 객체를 객체 배열로 변환

<시간/>

다음과 같은 사람에 대한 데이터를 포함하는 개체가 있다고 가정해 보겠습니다.

const obj = {
   "Person1_Age": 22,
   "Person1_Height": 170,
   "Person1_Weight": 72,
   "Person2_Age": 27,
   "Person2_Height": 160,
   "Person2_Weight": 56
};

우리는 하나의 그러한 객체를 취하는 JavaScript 함수를 작성해야 합니다. 그리고 우리의 기능은 고유한 각 개인에 관한 데이터를 고유한 개체로 분리해야 합니다.

따라서 위의 개체에 대한 출력은 다음과 같아야 합니다. -

const output = [
   {
      "name": "Person1",
      "age": "22",
      "height": 170,
      "weight": 72
   },
   {
      "name": "Person2",
      "age": "27",
      "height": 160,
      "weight": 56
   }
];

예시

이에 대한 코드는 -

const obj = {
   "Person1_Age": 22,
   "Person1_Height": 170,
   "Person1_Weight": 72,
   "Person2_Age": 27,
   "Person2_Height": 160,
   "Person2_Weight": 56
};
const separateOut = (obj = {}) => {
   const res = [];
   Object.keys(obj).forEach(el => {
      const part = el.split('_');
      const person = part[0];
      const info = part[1].toLowerCase();
      if(!this[person]){
         this[person] = {
            "name": person
         };
         res.push(this[person]);
      }
      this[person][info] = obj[el];
   }, {});
   return res;
};
console.log(separateOut(obj));

출력

콘솔의 출력은 -

[
   { name: 'Person1', age: 22, height: 170, weight: 72 },
   { name: 'Person2', age: 27, height: 160, weight: 56 }
]