1 files changed, 8 insertions, 0 deletions
diff --git a/src/util/util/Array.ts b/src/util/util/Array.ts
index 8a141340..082ac307 100644
--- a/src/util/util/Array.ts
+++ b/src/util/util/Array.ts
@@ -21,3 +21,11 @@
export function containsAll(arr: unknown[], target: unknown[]) {
return target.every((v) => arr.includes(v));
}
+
+/* https://stackoverflow.com/a/50636286 */
+export function partition<T>(array: T[], filter: (elem: T) => boolean) {
+ const pass: T[] = [],
+ fail: T[] = [];
+ array.forEach((e) => (filter(e) ? pass : fail).push(e));
+ return [pass, fail];
+}
|