检查字符串数组是否包含JS中的子字符串

使用 find() 检查数组是否包含子字符串

Check if Array of Strings contains a Substring in JS

检查 JavaScript 数组是否包含子字符串:

  1. 调用Array.find()数组上的方法。
  2. 使用该includes()方法检查每个元素是否包含子字符串。
  3. 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 数组是否包含子字符串:

  1. 调用Array.findIndex()数组上的方法。
  2. 使用该includes()方法检查每个元素是否包含子字符串。
  3. 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 数组是否包含子字符串:

  1. 调用Array.filter()数组上的方法。
  2. 检查每个元素是否包含特定的子字符串。
  3. 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()方法的函数都会对数组中的每个元素进行调用。

如果数组中有多个满足条件的元素并且您需要它们的所有值,这将很有用。