diff options
Diffstat (limited to 'src/prelude/array.ts')
| -rw-r--r-- | src/prelude/array.ts | 14 |
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)]; } |