如何优化循环函数

How to optimize this for loop function?

本文关键字:循环 函数 优化 何优化      更新时间:2023-09-26
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;
});

你可以只使用

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