Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Фильтрация массива по свойствам объекта! (https://javascript.ru/forum/misc/78145-filtraciya-massiva-po-svojjstvam-obekta.html)

Роман Андреевич 01.08.2019 15:56

Фильтрация массива по свойствам объекта!
 
Коллеги, прошу помощи, ибо уже час туплю сижу.

Есть массив с объектами:

let array = [
{ 
title: 'Lambo',
pay: 'no',
status: 'free'
 },
title: 'Lambo2',
pay: 'yes',
status: work
 },
title: 'Lambo3',
pay: 'yes',
status: ready
 }
]


и есть объект параметров фильтра:

let filter = {
pay: true, // если true то не показываем те, у кого pay === 'no', если false то показываем
ready: true, // если true то показывать все со статусом ready
work: false, // если true то показывать все со статусом work
all: false, // если true то показывать все

}


помогите советом или кодом, как отфильтровать массив согласно условиям объекта filter, заранее благодарю

Роман Андреевич 01.08.2019 16:13

Всем, спасибо, как кризис начался так и закончился, все решено!

рони 01.08.2019 16:16

Роман Андреевич,
array.filter(el=> {
    if(filter.all) return true;
    if(filter.pay && el.pay === 'no') return false;
    if(filter.ready && el.status !== 'ready') return false;
    if(filter.work && el.status !== 'work') return false;
    return true;
})


Часовой пояс GMT +3, время: 10:40.