【发布时间】:2016-02-24 01:30:20
【问题描述】:
我正在将代码库从 Underscore 1.8.2 迁移到 lodash 4.5.1。迁移后有一项测试失败。
正在测试的代码是使用_.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(...,测试通过了,但我担心代码库中可能存在更多潜在问题。
关于这两个库之间的哪个差异会导致这种情况的任何想法?
【问题讨论】:
-
elements是什么?
标签: javascript migration underscore.js lodash