首页 > 解决方案 > 如何从嵌套在父对象中的键值创建对象数组

问题描述

我在对象中嵌套了对象,如下所示:

var parentObj = { 
   key1: {
     a: true,
     b: 2
   },
   key2: {
     a: false,
     b: 2
   },
   key3: {
     a: true,
     b: 2
   }
}

我正在寻找从键值创建对象数组,如果嵌套对象中的一个值是真的,并且这也包括键作为一[key,value]对:

parentobj = [
  {
    a: true,
    b: 2,
    c: "key1" 
  },
  {
    a: true,
    b: 2,
    c: "key3"
  }
]

标签: javascriptarraysobject

解决方案


只需使用 for...in 循环,如下所示:

var myArray = [];
for(var key in parentObj){
   var childObj = parentObj[key];
   if(childObj.a) {
      myArray.push({a: childObj.a, b: childObj.b, c: key });
   }
}

推荐阅读