Поиск в массиве объектов в JavaScript по всем значениям ключей

#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)));
};
  

Я считаю, что это должно быть несколько оптимизировано для ваших нужд.