diff --git a/src/shared/lib/utils/splitArray/splitArray.ts b/src/shared/lib/utils/splitArray/splitArray.ts new file mode 100644 index 0000000..5d8bf71 --- /dev/null +++ b/src/shared/lib/utils/splitArray/splitArray.ts @@ -0,0 +1,8 @@ +export function splitArray(array: T[], callback: (item: T) => boolean) { + return array.reduce<[T[], T[]]>( + ([pass, fail], item) => ( + callback(item) ? pass.push(item) : fail.push(item), [pass, fail] + ), + [[], []], + ); +}