Как проверить, содержит ли строка подстроку, которая присутствует в предопределенном массиве в JavaScript? - PullRequest
0 голосов
/ 27 ноября 2018

Какой самый эффективный способ выяснить, содержит ли массив JavaScript подстроку данной строки?

Например, если у меня есть массив JavaScript

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

Мне нуженусловие, которое возвращает true, когда я сравниваю вышеуказанный массив со строкой:

"John Elton"

Ответы [ 3 ]

0 голосов
/ 27 ноября 2018

Для ES6:

var array = ["John","Jerry","Ted"];
var strToMatch = "John Elton"
array.some(el => strToMatch.includes(el))
0 голосов
/ 27 ноября 2018

Если вы не можете использовать ES6:

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

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

console.log(match);
0 голосов
/ 27 ноября 2018

Вы можете использовать .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));
...