数组到下划线中的多个对象

Array to multiple object in underscore

我有一个如下所示的数组:

[{
    LocalBond:"0",
    LocalCash:"2.42",
    LocalEquity:"0",
    ForeignEquity: "4",
    ...
}]

我想要的样子:

[{
    Source: "LocalBond",
    Value: "0"
},
    Source: "LocalCash",
    Value: "2.42"
},
    Source: "LocalEquity",
    Value: "0"
},
{...}
]

我想将单个对象变成多个对象。我还需要排除 'ForeignEquity' 结果。

我尝试使用 _.map,并返回我想要的字段,但我有点吃力。我在正确的轨道上吗?当我将多个参数传递到我的函数时,我没有得到想要的结果。

最简单的代码是纯的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);