9 lines
262 B
TypeScript
9 lines
262 B
TypeScript
export function splitArray<T>(array: T[], callback: (item: T) => boolean) {
|
|
return array.reduce<[T[], T[]]>(
|
|
([pass, fail], item) => (
|
|
callback(item) ? pass.push(item) : fail.push(item), [pass, fail]
|
|
),
|
|
[[], []],
|
|
);
|
|
}
|