如何优化循环功能?

时间:2016-02-01 20:55:32

标签: javascript arrays loops for-loop lodash

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"
}

2 个答案:

答案 0 :(得分:6)

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

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

而且,如果你想在Lodash中做到这一点,使用_.map()来获得相同的结果。

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

答案 1 :(得分:1)

您可以只使用

var tickers = _.map(reportsArray, 'ticker');