У меня есть огромная коллекция данных, насчитывающая более 700 элементов, и я хочу фильтровать по динамическому массиву объектов. Допустим, пользователь набрал ode
, и мой сценарий должен выполнять поиск по каждому фильтру без выполнения чего-то вроде * 1002. *
const hugeData = [{name:"store 1",code : "code 1", available : false},{name : "store 2",code : "simple_code",available : true},{name : "sto 3",code : "has no cde",available : true}...]
const filters = [{ code : "ode", name : "re" }]
результат, который я ожидаю, равен
// output
[{name : "store 1", code : "code 1", available : false},{name : "store 2",code : "simple_code",available : true}]
. Я решил эту проблему следующим образом с lodash
, но функция очень медленная, а код плохой, есть лиДругой способ, которым я могу сделать это работает?
const results = []
_.map(hugeData, store => {
_.map(filters, tag => {
Object.keys(tag).map(tagOb => {
if (store[tagOb] && store[tagOb].includes(tag[tagOb])) {
results.push(store);
}
});
});
});