检查数组是否包含 TypeScript 中的值
Check if an Array contains a Value in TypeScript
使用该includes()
方法检查数组是否包含 TypeScript 中的值,例如if (arr.includes('two')) {}
. 如果该值包含在数组中,否则该includes
方法将返回。true
false
索引.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
方法执行区分
大小写的检查值是否包含在数组中。
要执行不区分大小写的检查字符串是否包含在数组中:
- 将函数传递给
Array.find()
方法。 - 将数组元素和字符串小写并进行相等性检查。
- 该
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 数组是否包含对象:
- 将函数传递给
Array.find()
方法。 - 检查对象的标识符是否等于特定值,
true
如果是则返回 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 数组是否包含对象:
- 将函数传递给
Array.some()
方法。 - 检查对象的标识符是否等于特定值,
true
如果是则返回。 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
否则。
如果您不需要获取对象的值,这可能是更直观的方法。