UNPKG

@uk/tool

Version:
23 lines (21 loc) 629 B
export class ArrayMap<TKey, TVal> extends Map<TKey, TVal> { find(cb: (val: TVal, key: TKey)=> boolean): TVal | undefined { for (const pair of this) { if (cb(pair[1], pair[0])) return pair[1]; } } filter(cb: (val: TVal, key: TKey)=> boolean): TVal[] { const rv = []; for (const pair of this) { if (cb(pair[1], pair[0])) rv.push(pair[1]); } return rv; } map<T>(cb: (val: TVal, key: TKey)=> T): T[] { const rv = []; for (const pair of this) { rv.push(cb(pair[1], pair[0])); } return rv; } }