直到今天,我认为lodash chain"崩溃"通过明确调用.value()
。但是,我在下面的代码段中证明了我的错误
(function(undefined) {
var a = { a: 'a', b: 'b' };
var chain = _(a);
chain.pick('b');
// > { a: 'a', b: 'b' }
console.log(chain.value());
chain = _(a).pick('b');
// > { b: 'b' }
console.log(chain.value());
})();

<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/3.10.1/lodash.js"></script>
&#13;
有没有办法关闭隐式链提交?
答案 0 :(得分:1)
不,你不能。这就是链条如何运作。
但你可以plant
(克隆)一个链。
var array = [1, 2];
var wrapped = _(array).map(function(value) {
return Math.pow(value, 2);
});
var other = [3, 4];
var otherWrapped = wrapped.plant(other);
otherWrapped.value(); // → [9, 16]
wrapped.value(); // → [1, 4]
答案 1 :(得分:1)
如果@HNeiva回答不符合您的原因,您只需使用最新的包装器覆盖旧链:
(function(undefined) {
var a = { a: 'a', b: 'b' };
var chain = _(a);
chain = chain.pick('b');
// > { b: 'b' }
console.log(chain.value());
})();
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/3.10.1/lodash.js"></script>