var tickers = [];

for (var i=0; i<reportsArray.length; i++) {
    tickers.push(reportsArray[i].ticker);
}


有没有一种方法可以使用lodash中最快/最有效的方式来复制上面的内容。

这是对象在reportsArray中的样子:

{
    added_epoch: 1452873186
    details: ""
    reason: ""
    term: "Google rocks!"
    ticker: "GOOG"
    user_id: 1346753
    username: "leon"
}

最佳答案

Array.prototype.map()是您所需要的。

var tickers = reportsArray.map(function (report) {
    return report.ticker;
});


而且,如果您仍然想在Lodash中执行此操作,请使用_.map()获得相同的结果。

var tickers = _.map(reportsArray, function (report) {
    return report.ticker;
});

07-24 17:07