@evgeniy2024

Как отфильтровать массив объектов?

Всем привет, есть массив объектов
let arr = [
{a: 1, b: 3, c: 2},
{e: 2, c: 2, b: 1},
{a: 2, t: 2, c: 2},
{e: 1, b: 3, c: 2},
]

И есть такой объект по которому должна произойти фильтрация
{e: 1, с: 2}

Результат на выходе должен получиться:
arr = [
{e: 2, c: 2, b: 1},
{e: 1, b: 3, c: 2}
]
Как можно отфильтровать массив arr, что бы вернулись те значения которые удовлетворяю условию, что элемент объекта должен быть больше либо равняется элементу объекта фильтрации
  • Вопрос задан
  • 89 просмотров
Решения вопроса 2
Seasle
@Seasle Куратор тега JavaScript
const filterBy = (collection, condition) => {
    const keys = Object.keys(condition);
    return collection.filter((entry) => keys.every((key) => entry[key] >= condition[key]));
};

const result = filterBy(arr, { e: 1, c: 2 });
Ответ написан
Комментировать
VoidVolker
@VoidVolker Куратор тега JavaScript
Dark side eye. А у нас печеньки! А у вас?
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы