TypeScript 怎么判断数组元素是否有相同
时间: 2024-09-28 17:04:19 浏览: 50
在TypeScript中,你可以使用`Array.prototype.some()` 或者 `Array.prototype.filter()` 方法来检查数组元素是否有一个或多个重复。这里给出两种方法的例子:
1. 使用 `some()` 方法:
```typescript
function hasDuplicates(array: any[]): boolean {
return array.some((value, index, self) => self.indexOf(value, index + 1) !== -1);
}
// 示例
const arr = [1, 2, 3, 4, 5];
console.log(hasDuplicates(arr)); // 如果有重复则返回true,否则返回false
```
在这个例子中,`some()` 接收一个测试函数,如果找到满足条件的元素(即其在数组中的索引+1之后再次出现),则返回 `true`。
2. 使用 `filter()` 方法:
```typescript
function hasDuplicates(array: any[]): boolean {
const duplicates = array.filter((value, index, self) => self.indexOf(value, index + 1) !== -1).length > 0;
return duplicates;
}
```
这个方法先过滤出所有重复的元素,然后检查过滤后的长度是否大于0,如果是,则说明存在重复。
阅读全文