如何将嵌套对象更改为数组

时间:2017-01-19 05:34:36

标签: javascript arrays oop

我有一个像这样的对象。

var Obj = {
    obj1 : {
        val : 1,
        id : 1
    }
    obj2 : {
        val : 2,
        id :2
    }
    obj3 : {
        val : 3,
        id :3
    }
}

我希望我的obj1和所有子对象成为一个数组,以便我可以检索该值。我想要数组中的数组因为我想要检索它们,因为它是动态的我不能使用Obj.obj1因此我想要推入数组。

任何人都可以告诉我该如何做到这一点。谢谢你的帮助

1 个答案:

答案 0 :(得分:2)

使用Object.keysArray#map方法将其转换为数组,但订单无法保证,因为对象属性没有任何订单。



var Obj = {
  obj1: {
    val: 1,
    id: 1
  },
  obj2: {
    val: 2,
    id: 2
  },
  obj3: {
    val: 3,
    id: 3
  }
};

var res = Object.keys(Obj).map(function(k) {
    return Obj[k];
  })

console.log(res);