我有一个如下所示的数组:
[{
LocalBond:"0",
LocalCash:"2.42",
LocalEquity:"0",
ForeignEquity: "4",
...
}]
我想要的样子:
[{
Source: "LocalBond",
Value: "0"
},
Source: "LocalCash",
Value: "2.42"
},
Source: "LocalEquity",
Value: "0"
},
{...}
]
我想将单个对象转换为多个对象。我还需要排除' ForeignEquity' 结果。
我尝试使用_.map
,并返回我想要的字段,但我有点挣扎。我是在正确的轨道上吗?当我将多个参数传递给我的函数时,我无法获得所需的结果。
答案 0 :(得分:1)
最简单的代码是纯javascript:
使用for..in访问对象的属性,并在for循环内部构建数组。
http://www.w3schools.com/jsref/jsref_forin.asp
示例:
https://jsfiddle.net/jewrsL8a/5/
var collection = [{
LocalBond:"0",
LocalCash:"2.42",
LocalEquity:"0",
ForeignEquity: "4"
}];
var result = [];
for (var property in collection[0]) {
if(property!=='ForeignEquity'){
result.push({'Source': property, 'Value': collection[0][property]});
}
}
console.log(result);