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

]

以上是 在JavaScript中将对象转换为对象数组 的全部内容, 来源链接: utcz.com/z/343266.html

回到顶部