Как проверить, существует ли одно из значений массива в строке? - PullRequest
0 голосов
/ 08 мая 2020

У меня есть три типа строк.

This is a test.

I am testing.

This is a simple string.

Я хочу получить строку, которая не содержит test или testing. Это третья строка.

У меня есть массив со значениями test и testing.

Единственное решение, которое у меня есть, чтобы l oop по массиву и искать значение массива в строке один за другим.

$.each(myarray , function(index, val) { 
  if (string.indexOf(val) === -1) {

  }
});

Есть ли лучшее решение без использования al oop?

1 Ответ

1 голос
/ 08 мая 2020

Вы можете сделать это с помощью функций some() и includes(). Вот информация о some () и includes () .

Метод includes () чувствителен к регистру

Чтобы быть более точным, функции some и includes проходят через al oop в фоновом режиме (под капотом). Однако вам не нужно писать свой собственный l oop.

$(document).ready(function() {

  var strings = ['This is a test.', 'I am testing.', 'This is a simple string.'];
  var excludes = ['test', 'testing'];

  testFunction(strings, excludes);

  function testFunction(strings, excludes) {
    $.each(strings, function(index, string) {
      if (!excludes.some(v => string.includes(v))) {
        // here are just the strings which not includes substrings of "excludes"
      	$('#output').append(string);
      }
    })
  }

});

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...