使用Lodash链并过滤不返回过滤值

时间:2018-03-26 15:40:39

标签: javascript filter lodash chain

我正在尝试使用LoDash过滤键state === accepted的对象。 quoteList数组中有两个对象。 console.log返回数组中的2个对象;我期待它返回state === accepted的1个对象。我正在使用chain,因为一旦我开始工作,我将需要使用其他功能。

let quoteList = shipment.quotes
const QuoteSlides = _
.chain(quoteList)
.filter(['state', 'accepted'])
console.log(quoteList)

1 个答案:

答案 0 :(得分:0)

虽然您正在记录错误的对象(如@Baruch的评论中所述),但您还必须使用.value()函数打开结果以获得实际结果:

const QuoteSlides = _
  .chain(quoteList)
  .filter(['state', 'accepted'])
  .value()

当您在对象上调用_.chain时,Lodash会创建一个包装器。这称为显式链接。 .value()删除包装器并返回实际结果,该结果将分配给QuoteSlides

查看更多implicitexplicit链序列。