“Lodash Groupby return Array” Ответ

Lodash Groupby return Array

export const groupArrayBy = (arr, groupBy) => {

    let newArr = []
    arr.map((item) => {
        if(item[groupBy]) {
            let finded = newArr.filter((newItem) => newItem[groupBy] === item[groupBy])
            if(finded.length > 0) {
                finded[0].products.push(item)
            } else {
                newArr.push({category: item[groupBy], products: [item]})
            }
        }
    })

    return newArr
}

Zany Zebra

Lodash Groupby return Array

   let arr = [{
	"birthdate": "1993",
	"name": "Ben"
},
{
	"birthdate": "1994",
	"name": "John"
},
{
	"birthdate": "1995",
	"name": "Larry"
},
{
	"birthdate": "1995",
	"name": "Nicole"
},
{
	"birthdate": "1996",
	"name": "Jane"
},
{
	"birthdate": "1996",
	"name": "Janet"
},
{
	"birthdate": "1996",
	"name": "Dora"
},
];

const res = arr.reduce((ac, a) => {
let temp = ac.find(x => x.birthdate === a.birthdate);
if (!temp) ac.push({ ...a,
	name: [a.name]
})
else temp.name.push(a.name)
return ac;
}, [])
console.log(res);
Zany Zebra

Ответы похожие на “Lodash Groupby return Array”

Вопросы похожие на “Lodash Groupby return Array”

Больше похожих ответов на “Lodash Groupby return Array” по JavaScript

Смотреть популярные ответы по языку

Смотреть другие языки программирования