从 Javascript 中的 'for' 循环返回所有值

Return all values from 'for' loop in Javascript

本文关键字:返回 循环 Javascript for 中的      更新时间:2024-05-03
for (var i = 0; i < dataSets.length; i++) {
        var result = _.filter(data, function(item){
          return _.contains(item, dataSets[i]);
        });
        var collection = []
        for(x in result)collection.push(result[x].value);
    }

当我在方法内部做一个控制台.log(集合(时,我可以看到 3 个数组,这是正确的。

[431, 552, 318, 332, 185]
[17230, 17658, 15624, 16696, 9276]
[5323, 6359, 8216, 9655, 5513]

但是在方法之外,我只能获取最后一个值。

[5323, 6359, 8216, 9655, 5513]

有没有办法返回方法之外的所有值?

您可以将每个集合添加到数组中:

var collections = [];
for (var i = 0; i < dataSets.length; i++) {
    var result = _.filter(data, function(item){
      return _.contains(item, dataSets[i]);
    });
    collections[i] = [];
    for(x in result) collections[i].push(result[x].value);
}
// Now you have all values into "collections"
// If you are within a method you can also "return collections;" here

如果你处于 ES6 的心态:

dataSets . map(set => data .
    filter(item => item.contains(set)) .
    map   (item => item.value)
)