使用 find() 检查数组是否包含子字符串
Check if Array of Strings contains a Substring in JS
检查 JavaScript 数组是否包含子字符串:
- 调用
Array.find()
数组上的方法。 - 使用该
includes()
方法检查每个元素是否包含子字符串。 - 该
Array.find()
方法将返回与子字符串匹配的元素的值。
索引.js
const array = ['hello', 'world']; const substring = 'hell'; const match = array.find(element => { if (element.includes(substring)) { return true; } }); console.log(match); // 👉️ hello if (match !== undefined) { // array contains the substring match }
我们传递给
Array.find()
方法的函数会针对数组的每个元素进行调用,直到它返回真值或耗尽数组的元素。
如果函数从不返回真值,则
Array.find()
返回undefined
。我们使用该String.includes()
方法检查子字符串是否包含在每个数组元素中。
请注意,
String.includes
方法区分大小写。对于不区分大小写的字符串比较,将子字符串和数组元素都转换为小写。
索引.js
const array = ['hello', 'world']; const substring = 'HELL'; const match = array.find(element => { if (element.toLowerCase().includes(substring.toLowerCase())) { return true; } }); console.log(match); // 👉️ hello if (match !== undefined) { // array contains substring match }
使用 findIndex() 检查数组是否包含子字符串
检查 JavaScript 数组是否包含子字符串:
- 调用
Array.findIndex()
数组上的方法。 - 使用该
includes()
方法检查每个元素是否包含子字符串。 - 该
Array.findIndex()
方法将返回与子字符串匹配的数组元素的索引。
索引.js
const array = ['hello', 'world']; const substring = 'hell'; const index = array.findIndex(element => { if (element.includes(substring)) { return true; } }); console.log(index); // 👉️ 0 if (index !== -1) { // array contains substring match }
我们传递给
Array.findIndex
方法的函数会针对数组中的每个元素进行调用,直到它返回真值或遍历整个数组。
如果回调函数的所有调用都返回虚假值,则
findIndex()
返回-1
.
如果必须根据元素在数组中的索引执行操作,例如删除元素,则可以使用该
findIndex
方法而不是。find
使用 filter() 检查数组是否包含子字符串
检查 JavaScript 数组是否包含子字符串:
- 调用
Array.filter()
数组上的方法。 - 检查每个元素是否包含特定的子字符串。
- 该
Array.filter()
方法返回一个数组,其中包含满足条件的所有元素。
索引.js
const array = ['hello', 'world']; const substring = 'hell'; const matches = array.filter(element => { if (element.includes(substring)) { return true; } }); console.log(matches); // 👉️ [ 'hello' ] if (matches.length > 0) { // array contains substring match }
无论条件是否满足,我们传递给
Array.filter()方法的函数都会对数组中的每个元素进行调用。
如果数组中有多个满足条件的元素并且您需要它们的所有值,这将很有用。