1.0.4 • Published 8 months ago

@jswork/filter2tuple v1.0.4

Weekly downloads
-
License
MIT
Repository
-
Last release
8 months ago

filter2tuple

A function to split an array into two tuples based on a filtering condition.

version license size download

installation

npm install @jswork/filter2tuple

usage

import filter2tuple from '@jswork/filter2tuple';

const numbers = [1, 2, 3, 4, 5, 6];
const [even, odd] = filter2tuple(numbers, (item) => item % 2 === 0);

console.log(even, odd);
// [2, 4, 6] [1, 3, 5]

other

Use reduce implement:

// impl1:
function filter2tuple(arr, filterFn) {
  return arr.reduce((result, item) => {
    filterFn(item) ? result[0].push(item) : result[1].push(item);
    return result;
  }, [[], []]);
}

// impl2: 
function filter2tuple(arr, filterFn) {
  return arr.reduce(
    (result, item) => {
      const idx = Number(!filterFn(item));
      result[idx].push(item);
      return result;
    },
    [[], []]
  );
}

license

Code released under the MIT license.

1.0.4

8 months ago

1.0.3

8 months ago

1.0.2

8 months ago

1.0.1

8 months ago