Skip to content

compress() function

'iterable'から要素をフィルタリングし、'selectors'内の対応する要素が'true'と評価されるもののみを返す Iterable/AsyncIterable を返します。'iterable'または'selectors'のいずれかが使い果たされたときに停止します。

Signature:

typescript
declare function compress<A, B>(
  selector: Array<A>,
  iterable: Iterable<B>,
): IterableIterator<B>;

Example

ts
const iter1 = compress([false, true, false, false, true], [1, 2, 3, 4, 5]);
iter1.next(); // {value: 2, done:false}
iter1.next(); // {value: 5, done:false}
iter1.next(); // {value: undefined, done:true }

const iter2 = compress([1, 0, 0, 1, 0], "abcde");
iter2.next(); // {value: "a", done:false}
iter2.next(); // {value: "d", done:false}
iter2.next(); // {value: undefined, done:true }

// with pipe
pipe([1, 2, 3], compress([false, true, true]), toArray); // [2, 3]

see pipe, toArray

Open Source Code

Released under the Apache-2.0 License.