创建包含对象的新数组

时间:2014-05-17 08:51:11

标签: javascript arrays

我希望创建一个包含来自另一个Object

的对象的新数组

这是我的尝试:

var obj =  {
    a:{},
    b:{}
}

var arr = new Array().concat(obj,[]);

可悲的是,这会返回一个这样的数组:

Array[1]
0: Object
    a: Object
    b: Object

但是,所需的数组应如下所示:

Array[2]
    0: Object
        a: Object
    1: Object
        b: Object

如何在不必循环对象的情况下以最短的方式实现这一目标?

1 个答案:

答案 0 :(得分:2)

这是一个没有显式循环的例子:

var r = Object.keys(obj).map(function(key) {
    var o = {};
    o[key] = this[key];
    return o;
}, obj);

http://jsfiddle.net/zNh3G/