Как исключить значения из массива, если он содержит определенные символы / строки в JavaScript / lodash? - PullRequest
0 голосов
/ 15 октября 2019

У меня есть один массив с некоторыми значениями, как показано ниже,

let a = ["Mango", "1243greatApple", "goodOrange", "Watermelon", "ThisGoodalsoberemoved", "GreatOrange", "Pappaya", "BestApple"];

Теперь я хочу исключить значения, которые содержат значения типа Great и Good.

Ожидается вывод, как показано ниже,

["Mango", "Watermelon", "Pappaya", "BestApple"]

Пробуется с использованием lodash, но работает только тогда, когда соответствует точной строке. Но мне нужно это как регулярное выражение. Пожалуйста, помогите мне с этим.

1 Ответ

1 голос
/ 15 октября 2019

В vanilla JS вы можете попробовать с помощью Array.prototype.filter()

Метод filter() создает новый массив со всеми элементами, которые передаюттест, реализованный с помощью предоставленной функции.

И String.prototype.includes()

Метод includes () определяет, является ли одна строкаможет быть найден в другой строке, возвращая true или false в зависимости от ситуации.

let a = ["Mango","1243GreatApple","GoodOrange","Watermelon","ThisGoodalsoberemoved","GreatOrange","Pappaya","BestApple"];

var r = a.filter(f => !(f.includes('Great') || f.includes('Good')));
console.log(r);
...