如何检查字符串是不是包含 JavaScript 预定义数组中存在的子字符串?

Posted

技术标签:

【中文标题】如何检查字符串是不是包含 JavaScript 预定义数组中存在的子字符串?【英文标题】:How to check whether a string contains a substring which is present in a predefined array in JavaScript?如何检查字符串是否包含 JavaScript 预定义数组中存在的子字符串? 【发布时间】:2019-04-29 01:11:31 【问题描述】:

找出 javascript 数组是否包含给定字符串的子字符串的最有效方法是什么?

例如,如果我有一个 JavaScript 数组

var a = ["John","Jerry","Ted"];

当我将上述数组与字符串进行比较时,我需要返回 true 的条件:

"John Elton"

【问题讨论】:

developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/… Array.includes() 了解Array.indexOf() 【参考方案1】:

如果你不能使用 ES6:

let arr = ["John","Jerry","Ted"];
let str = "John Elton";

var match = arr.some(function (name) 
  return str.indexOf(name) > -1;
);

console.log(match);

【讨论】:

【参考方案2】:

对于 ES6:

var array = ["John","Jerry","Ted"];
var strToMatch = "John Elton"
array.some(el => strToMatch.includes(el))

【讨论】:

【参考方案3】:

您可以使用.some().includes() 方法:

let arr = ["John","Jerry","Ted"];
let str = "John Elton";

let checker = (arr, str) => arr.some(s => str.includes(s));

console.log(checker(arr, str));

【讨论】:

以上是关于如何检查字符串是不是包含 JavaScript 预定义数组中存在的子字符串?的主要内容,如果未能解决你的问题,请参考以下文章

如何检查字符串是不是包含 JavaScript 中的子字符串?

如何检查字符串是不是包含 JavaScript 中的子字符串?

如何检查字符串是不是包含 JavaScript 中的子字符串?

如何检查字符串是不是包含 JavaScript 中的子字符串?

如何在 JavaScript 中检查字符串是不是包含数字和特殊字符?

如何检查一个字符串数组是不是包含 JavaScript 中的一个字符串? [复制]