ОК, поэтому я писал библиотеку для таких вещей, и нашел довольно простое решение этой самой проблемы.Код изначально написан на TypeScript, но я преобразовал его в JS:
const filterArray = (arr, toKeep) => {
for (item of toKeep)
arr = arr.filter(i => i = toKeep);
return arr;
};
Это означает, что эта функция предполагает, что в массиве могут быть элементы, отличные от строк, и если вы хотитеубедитесь, что строки, просто добавьте эту строку в начале функции:
for (arrIetm of arr) if (Object.prototype.toString.call(arrItem) != '[object String]' return;
Кстати, если вы хотите проверить библиотеку, GitHub находится по этой ссылке: https://railrunner16.me/raildash/
С наилучшими пожеланиями и удачи!