这对我有用。但是我想知道是否还有更多的“流线/高原”方式来实现这一目标?
我正在使用value: 'VALUE1'
和value: 'VALUE2'
拉取对象,并获得requiredId
对象中所有'VALUE1'
的列表,这些对象没有相同的条目requiredId
,但值为'VALUE2'
编辑:已知setB是setA的子集。
const _ = require('highland');
...
const allObjectsStream = _(allObjects)
.where({ subset: 'subsetValue' })
const setAStream = allObjectsStream.fork();
const setBStream = allObjectsStream.fork();
const setAPromise = setAStream
.where({ value: 'VALUE1'})
.pluck('requiredID')
.collect()
.toPromise(Promise);
const setBPromise = setBStream
.where({ value: 'VALUE2'})
.pluck('requiredID')
.collect()
.toPromise(Promise);
const [As, Bs] = await Promise.all([setAPromise, setBPromise]);
const onlyInA = As.filter(x => !Bs.includes(x))