Я в процессе миграции базы кода из Underscore 1.8.2 в lodash 4.5.1. После миграции произошел один тест.Подчеркивание и LoDash _.each
Тестирование кода было рекурсивным суммированием с использованием _.each
.
function foo(elements) {
if (elements.isContainer()) {
var sum = 0;
_.each(elements, function(element) {
sum += foo(element);
});
return sum;
} else {
return elements.someAttr ? 1 : 0;
}
}
Тестирование с массивом, который должен быть пуст, 0
ожидается в результате. underscore.each
преуспел, но lodash не сделал (положительное значение было возвращено).
Я заменил _.each(...
на return _.sumBy(...
, и тесты прошли, но я обеспокоен тем, что в базе кода могут быть более неактивные проблемы.
Любые идеи относительно того, какая разница между этими двумя библиотеками вызовет это?
Что такое 'элементы'? – dandavis