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