Javascript Lodash lazy chain不';我不工作
我对这段代码的期望是Javascript Lodash lazy chain不';我不工作,javascript,lodash,Javascript,Lodash,我对这段代码的期望是[1,2,5,6,7,8,9]。结果是[7,8,9]。我的错在哪里。谢谢 您的解决方案不是“惯用的”,因为它在这里和那里依赖自由变量(总体上是“过于强制性的”): “更好”的解决方案是: var result = arWrapper.difference(removedTypes).union(addedTypes); JSFiddle: 对于您的解决方案,它不起作用,因为.remove()返回已删除元素的集合,而不是您假定的已过滤掉元素的集合。arWrapper.remo
[1,2,5,6,7,8,9]
。结果是[7,8,9]
。我的错在哪里。谢谢
您的解决方案不是“惯用的”,因为它在这里和那里依赖自由变量(总体上是“过于强制性的”):
“更好”的解决方案是:
var result = arWrapper.difference(removedTypes).union(addedTypes);
JSFiddle:
对于您的解决方案,它不起作用,因为
.remove()
返回已删除元素的集合,而不是您假定的已过滤掉元素的集合。arWrapper.remove
返回新数组。不是Lodash对象。@MathewFoscarini不是当ChainedTanks@zerkms时。为了简单起见,我减少了“解决方案”:实际上,我需要在每个.each()
中添加更多代码.difference()
和.union()
没有帮助。谢谢你指出.remove()
也没用。@MaximMig它仍然很难看。如果你问得好,我们会帮你把它写得地道。目前-在代码中使用lodash没有任何好处:用普通的forEach
和if
重写它,这样会更好。
var result = arWrapper.difference(removedTypes).union(addedTypes);