#javascript #arrays #object
#javascript #массивы #объект
Вопрос:
Может кто-нибудь привести пример хорошей оптимизированной функции поиска в массиве объектов в javascript. Я пытаюсь создать serachbar, который возвращает совпадающее значение в массиве объектов, но я могу заставить его возвращать значение только в том случае, если оно соответствует определенному ключу в моем примере — ‘name’. Хотите выполнить поиск, который возвращает значения по всем ключам. Это мой пример объекта, и это моя функция поиска. Заранее спасибо
{{name: 'John Smith', email: 'johnsmith@smth.com', organization: 'Nike'},{name: 'John Doe', email: 'johndoe@smth.com', organization: 'Sony'}}
filteredItems() {
return this.items.filter(item => {
return (item.name.toLowerCase().indexOf(this.filter.toLowerCase()) > -1)
})}
Комментарии:
1. Я не отклонил ваш вопрос, но дал несколько советов. покажите нам, что вы пробовали, и что не сработало, когда вы пробовали эти вещи. прямо сейчас вопрос просто требует решения, а это не то, о чем stack.
Ответ №1:
const filteredItems = () => {
const regex = new RegExp(this.filter, 'i');
return this.items.filter((item) => Object.values(item).find((value) => regex.test(value)));
};
Я считаю, что это должно быть несколько оптимизировано для ваших нужд.