考虑:
var result = _.chain(foo)
.stuff()
.morestuff()
.extend(extraKeysValues) // <-- problem is here
.value();
这是用
extraKeysValues
中的内容扩展了链接的数据集。这样会覆盖数据。在
chain
中使用时,我想要相反的行为-我想将链数据添加到extraKeysValues
,所以我不会覆盖任何数据。那么,在链内使用时,如何有效地重新定义
_.extend(destination, *sources)
的顺序?我意识到这将是一个多步骤的过程,但是我不想打破这个链条。 最佳答案
我认为defaults(object, *defaults)
方法可以满足您的需求。
使用以下默认对象列表中出现的第一个值填写对象中的未定义属性。
var result = _.chain(foo)
.stuff()
.morestuff()
.defaults(extraKeysValues)
.value();
这样,
result
中的数据将不会被extraKeysValues
数据覆盖。关于javascript - 在链中使用下划线的`extend`的相反顺序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33434253/