Использование underscore.js может уменьшить возврат массива? - PullRequest
4 голосов
/ 22 января 2012

Я пытаюсь использовать Reduce для возврата массива примерно так:

var myArray = [1,2,3];
_.reduce(myArray, function (seed, item) { return seed.push(item);}, []);

Я ожидаю, что он создаст массив точно так же, как myArray. Вместо первого элемента seed - это массив. Затем для второго элемента семя - это число. Это вызывает ошибку, и третий пункт никогда не достигается.

Что здесь происходит?

1 Ответ

14 голосов
/ 22 января 2012

На самом деле, seed.push() не возвращает измененный seed.Сделайте следующее, и это правильно:

_.reduce(myArray, function (seed, item) { seed.push(item); return seed; }, []);
...