Если вы хотите удалить набор элементов из другого набора, существуют определенные операции, предназначенные специально для этого. Lodash имеет https://lodash.com/docs/4.17.2#difference , который принимает два параметра массива A и B и возвращает другой массив, который содержит все элементы A, которых нет в B.
В вашем случае вы можете написать
const fruits = ['Apple', 'Banana', 'Orange', 'Celery'];
const filteredFruits = _.difference(fruits, ['Apple', 'Banana', 'Orange']);
, что приведет к ['Celery']
.
Если ваш домен приложения перезапускается, эти данные будут потеряны. Будет ли это проблемой? Если это так, вам, вероятно, следует рассмотреть возможность сохранения этих данных в другом месте, возможно, в БД ...
Затем вы можете кэшировать эти данные и получать их из БД, если данные кеша отсутствуют.
Это зависит от размера данных ... но мне кажется, что кеширование звучит неплохо. Если вам действительно нужна хорошая производительность, вы также можете реализовать распределенный кеш, например memcached или NCache.