Как реализовать фильтрацию массива объектов с несколькими параметрами, к которых может быть несколько значений? Есть массив объектов, у объекта несколько параметров, а у каждого параметра может быть несколько значений. Нужно делать поиск по этому массиву с заданными значениями параметров. Например
Массив состоит из объектов типа Машина
Параметры машины
вес - 2000кг
цвет - красный, синий
скорости - 1,2,3, назад
пример запроса все - [неуказан], цвет - красный, скорость - 2

21 Авг 2019 в 06:11
169 +1
0
Ответы
1

Для реализации фильтрации массива объектов с несколькими параметрами, к которым может быть несколько значений, можно использовать метод filter() в JavaScript. Ниже приведен пример кода:

// Создаем массив объектов
const cars = [
{ вес: 2000, цвет: 'красный', скорости: [1, 2] },
{ вес: 1800, цвет: 'синий', скорости: [2, 3] },
{ вес: 2200, цвет: 'красный', скорости: [3, 'назад'] },
];
// Выполняем фильтрацию массива
const filteredCars = cars.filter(car => (
(car.цвет === 'красный' || car.цвет === '[неуказан]') &&
(car.скорости.includes(2) || car.скорости.includes('назад'))
));
console.log(filteredCars);

В данном примере мы фильтруем массив объектов cars по двум параметрам: цвету и скорости. Метод filter() возвращает новый массив объектов, удовлетворяющих условиям поиска. В данном случае мы ищем объекты, у которых цвет равен 'красный' или не указан, а также скорость содержит значение 2 или 'назад'.

20 Апр 2024 в 13:22
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир