uniq.ts 344 B

123456789101112131415
  1. export default function uniq(arr: any[], cache = new Map()) {
  2. const r = [];
  3. if (Array.isArray(arr)) {
  4. for (let i = 0, len = arr.length; i < len; i ++) {
  5. const item = arr[i];
  6. // 加一个 cache,提升性能
  7. if (!cache.has(item)) {
  8. r.push(item);
  9. cache.set(item, true);
  10. }
  11. }
  12. }
  13. return r;
  14. }