Reputation: 411
I've been having trouble to get this function to work with multiple properties and values.
the code here works fine as long as the object contains one property and value.
var arr = [ [{ prop: 'val1' }], [{ prop: 'val2' }], [{ prop: 'val3' }] ]
var res = arr.map(getObject);
function getObject(o) {
return Array.isArray(o) ? getObject(o[0]) : o;
}
console.log(res);
[
{
"prop": "val1"
},
{
"prop": "val2"
},
{
"prop": "val3"
}
]
ex.
oldArray = [ [{ prop1: 'val1', prop2: 'val2' }], [{ prop1: 'val1', prop2: 'val2' }], [{ prop1: 'val1', prop2: 'val2' }] ];
newArray = [
{
"prop1": "val1",
"prop2": "val2",
},
{
"prop1": "val1",
"prop2": "val2",
},
{
"prop1": "val1",
"prop2": "val2",
},
];
Upvotes: 0
Views: 49
Reputation: 638
var oldArray = [ [{ prop1: 'val1', prop2: 'val2' }, { prop11: 'val11', prop22: 'val22' }], [{ prop1: 'val1', prop2: 'val2' }], [{ prop1: 'val1', prop2: 'val2' }] ];
var newArray = [];
oldArray.map(function(subArray){
subArray.map(function(prop){
newArray.push(prop);
});
});
console.log('oldArray', oldArray)
console.log('newArray', newArray)
Upvotes: 1