如何检查 TypeScript 中的数组是否包含字符串?
大家好!我是 TypeScript 新手(之前用普通 JavaScript 编写),在检查数组中是否包含字符串时遇到了问题。
我有一个字符串数组:
```typescript
let fruits: string[] = ['apple', 'banana', 'orange'];
```
我需要检查其中是否包含例如 'banana'。在 JavaScript 中,我只需写:
```javascript
if (fruits.indexOf('banana') !== -1) { ... }
```
或
```javascript
if (fruits.includes('banana')) { ... }
```
但在 TypeScript 中,我遇到了奇怪的类型错误。当我写:
```typescript
if (fruits.includes('banana')) {
console.log('Found!');
}
```
一切正常,但当我尝试使用 indexOf 时,编译器报错:"Argument of type 'string' is not assignable to parameter of type 'never'"。我完全不明白这是什么意思。
也许 TypeScript 对数组操作有一些特殊要求?或者我声明数组的方式不对?我还尝试检查从 API 返回的数组,那里数组的类型声明了