Вернуть или отфильтровать новый массив объектов Javascript
[
{
"datadoc_prih": "2021-02-05 20:00:00",
"summ_prih": "22420.00",
"summv_prih": "17550.00",
"kod_doc": "020045"
},
{
"datadoc_prih": "2021-02-01 16:28:21",
"summ_prih": "4969.00",
"summv_prih": "2527.61",
"kod_doc": "040041"
},
{
"datadoc_prih": "2021-02-02 16:29:04",
"summ_prih": "1530.00",
"summv_prih": "729.49",
"kod_doc": "040041"
},
{
"datadoc_prih": "2021-02-01 16:30:11",
"summ_prih": "1150.00",
"summv_prih": "525.01",
"kod_doc": "040041"
},
]
Подскажите как вернуть новый массив объектов проходящих по условию где datadoc_prih содержит 2021-02-01 и kod_doc = 040041
Ответы (1 шт):
Автор решения: Алексей Шиманский
→ Ссылка
Вкратце:
arr.filter(el => el.datadoc_prih.includes('2021-02-01') && el.kod_doc === '040041');
Чуть длиннее:
let getSmth = (arr, datadoc_prih, kod_doc) => arr.filter(el => el.datadoc_prih.includes(datadoc_prih) && el.kod_doc === kod_doc);
let filteredArr = getSmth(arr, '2021-02-01', '040041');
let arr = [
{
"datadoc_prih": "2021-02-05 20:00:00",
"summ_prih": "22420.00",
"summv_prih": "17550.00",
"kod_doc": "020045"
},
{
"datadoc_prih": "2021-02-01 16:28:21",
"summ_prih": "4969.00",
"summv_prih": "2527.61",
"kod_doc": "040041"
},
{
"datadoc_prih": "2021-02-02 16:29:04",
"summ_prih": "1530.00",
"summv_prih": "729.49",
"kod_doc": "040041"
},
{
"datadoc_prih": "2021-02-01 16:30:11",
"summ_prih": "1150.00",
"summv_prih": "525.01",
"kod_doc": "040041"
},
];
let getSmth = (arr, datadoc_prih, kod_doc) => arr.filter(el => el.datadoc_prih.includes(datadoc_prih) && el.kod_doc === kod_doc);
let filteredArr = getSmth(arr, '2021-02-01', '040041');
console.log(filteredArr);