summaryrefslogtreecommitdiff
path: root/src/prelude/array.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/prelude/array.ts')
-rw-r--r--src/prelude/array.ts14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/prelude/array.ts b/src/prelude/array.ts
index aee17640ed..abef6ca039 100644
--- a/src/prelude/array.ts
+++ b/src/prelude/array.ts
@@ -6,6 +6,18 @@ export function count<T>(x: T, xs: T[]): number {
return countIf(y => x === y, xs);
}
+export function concat<T>(xss: T[][]): T[] {
+ return ([] as T[]).concat(...xss);
+}
+
export function intersperse<T>(sep: T, xs: T[]): T[] {
- return [].concat(...xs.map(x => [sep, x])).slice(1);
+ return concat(xs.map(x => [sep, x])).slice(1);
+}
+
+export function erase<T>(x: T, xs: T[]): T[] {
+ return xs.filter(y => x !== y);
+}
+
+export function unique<T>(xs: T[]): T[] {
+ return [...new Set(xs)];
}