如何检查字符串是不是包含 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 中的子字符串?