检查数组是否包含 TypeScript 中的值

检查数组是否包含 TypeScript 中的值

Check if an Array contains a Value in TypeScript

使用该includes()方法检查数组是否包含 TypeScript 中的值,例如if (arr.includes('two')) {}. 如果该值包含在数组中,否则includes方法将返回。truefalse

索引.ts
const arr: string[] = ['one', 'two', 'three']; if (arr.includes('two')) { console.log('✅ two is contained in array'); } else { console.log('⛔️ two is NOT contained in array'); }

Array.includes
方法执行
区分
大小写的检查值是否包含在数组中。

要执行不区分大小写的检查字符串是否包含在数组中:

  1. 将函数传递给Array.find()方法。
  2. 将数组元素和字符串小写并进行相等性检查。
  3. Array.find方法返回满足条件的第一个数组元素。
索引.ts
const arr: string[] = ['one', 'two', 'three']; const str = 'TWO'; const found = arr.find((element) => { return element.toLowerCase() === str.toLowerCase(); }); console.log(found); // 👉️ "two" if (found !== undefined) { console.log('✅ the string is contained in the array'); } else { console.log('⛔️ the string is NOT contained in the array'); }

我们传递给
Array.find
方法的函数会针对数组中的每个元素进行调用,直到它返回真值或遍历所有元素。

在代码示例中,对字符串的不区分大小写检查成功并
Array.find返回了相应的数组元素。

如果我们传递给函数的所有调用都Array.find 返回一个假值,那么该方法返回undefined

您还可以使用该Array.find方法来检查 anobject是否包含在数组中。

检查 TypeScript 数组是否包含对象:

  1. 将函数传递给Array.find()方法。
  2. 检查对象的标识符是否等于特定值,true如果是则返回
  3. Array.find如果条件检查至少满足一次,将返回对象
索引.ts
const arr: { id: number; name: string }[] = [ { id: 1, name: 'Tom' }, { id: 2, name: 'Alfred' }, { id: 3, name: 'Fred' }, ]; const found = arr.find((obj) => { return obj.id === 2; }); console.log(found); // 👉️ {id: 1, name: 'Alfred'} if (found !== undefined) { console.log('✅ the object is contained in the array'); } else { console.log('⛔️ the object is NOT contained in the array'); }
我们传递给Array.find方法的函数被数组中的每个对象调用,直到它返回一个真值或遍历所有元素。

在每次迭代中,我们检查对象id是否等于2,如果是,则满足条件并从find方法返回对象。

另一种方法是使用
Array.some
方法。

检查 TypeScript 数组是否包含对象:

  1. 将函数传递给Array.some()方法。
  2. 检查对象的标识符是否等于特定值,
    true如果是则返回。
  3. Array.some将返回true条件检查至少满足一次。
索引.ts
const arr: { id: number; name: string }[] = [ { id: 1, name: 'Tom' }, { id: 2, name: 'Alfred' }, { id: 3, name: 'Fred' }, ]; const result = arr.some((obj) => { return obj.id === 2; }); console.log(result); // 👉️ true if (result) { console.log('✅ the object is contained in the array'); } else { console.log('⛔️ the object is NOT contained in the array'); }

Array.some()方法返回一个布尔结果——true如果条件至少满足一次,false否则。

如果您不需要获取对象的值,这可能是更直观的方法。