Underscore / Lo-Dash _.each不返回数组

时间:2013-10-03 00:43:56

标签: javascript underscore.js lodash

我最初试图这样做:

var array = ['A','B','C'];
array = _.each(array, function(item) { return item + '+' });

得到这个:

['A+','B+','C+'];

但_.each似乎没有返回函数。

我最终确定了这一点:

var array = ['A','B','C'];
newArray = [];
_.each(array, function(item) {
  newArray.push(item + '+');
});

但相比之下看起来很笨重。

我是否错误地使用_.each,或者我应该使用其他功能?

3 个答案:

答案 0 :(得分:6)

  

我应该使用另一种功能吗?

是。 each永远不会返回数组,它只是迭代。使用map生成一系列回调结果。

var array = _.map(['A','B','C'], function(item) { return item + '+' });

答案 1 :(得分:3)

改为使我的评论成为答案 - 使用_.map返回数组。 _.each方法将简单地遍历您的集合。

答案 2 :(得分:0)

var newArray = _.map(array, function(item) {
  return item + '+';
});