ts 里 any[] 去重
时间: 2023-08-25 17:06:29 浏览: 121
vue中对象数组去重的实现
在 TypeScript 中,可以使用多种方法来对 `any[]` 类型的数组进行去重。以下是几种常见的方法:
1. 使用 Set
```typescript
const arr: any[] = [1, 2, 2, "a", "b", "b"];
const uniqueArr = Array.from(new Set(arr));
console.log(uniqueArr); // [1, 2, "a", "b"]
```
2. 使用 filter 和 indexOf
```typescript
const arr: any[] = [1, 2, 2, "a", "b", "b"];
const uniqueArr = arr.filter((value, index, self) => {
return self.indexOf(value) === index;
});
console.log(uniqueArr); // [1, 2, "a", "b"]
```
3. 使用 reduce
```typescript
const arr: any[] = [1, 2, 2, "a", "b", "b"];
const uniqueArr = arr.reduce((prev, curr) => {
if (!prev.includes(curr)) {
prev.push(curr);
}
return prev;
}, []);
console.log(uniqueArr); // [1, 2, "a", "b"]
```
4. 使用 ES6 的扩展运算符和 Set
```typescript
const arr: any[] = [1, 2, 2, "a", "b", "b"];
const uniqueArr = [...new Set(arr)];
console.log(uniqueArr); // [1, 2, "a", "b"]
```
这些方法都可以用于对 `any[]` 类型的数组进行去重操作。选择其中一种或根据具体需求选择适合的方法即可。请注意,由于类型为 `any`,去重后的数组类型将保留为 `any[]`。如果需要更具体的类型,建议在运行时先将 `any[]` 类型的数组转换为具有明确类型的数组,再进行去重操作。
阅读全文