I wish to create a new array that contains objects from another Object
This was my try:
var obj = {
a:{},
b:{}
}
var arr = new Array().concat(obj,[]);
Sadly, this is returning an array like this:
Array[1]
0: Object
a: Object
b: Object
The desired array, however, should look like this:
Array[2]
0: Object
a: Object
1: Object
b: Object
How could i achieve that in the shortest possible way, without having to loop the object?
david
18.3k4 gold badges45 silver badges60 bronze badges
asked May 17, 2014 at 8:51
user2422960
1,5266 gold badges17 silver badges28 bronze badges
1 Answer 1
Here is an example without explicit loops:
var r = Object.keys(obj).map(function(key) {
var o = {};
o[key] = this[key];
return o;
}, obj);
answered May 17, 2014 at 9:02
zerkms
256k73 gold badges447 silver badges551 bronze badges
Sign up to request clarification or add additional context in comments.
Comments
lang-js
var arr = [obj.a, obj.b];?[{a: obj.a}, {b: obj.b}].