Middle+
Array.prototype.groupBy metodini amalga oshiring, bu metod obyektlar massivining tuzilmalangan versiyasini qaytaradi, bunda har bir kalit o'tkazilgan funktsiyaning chaqirilishi natijasidir va qiymat bu kalitga mos keladigan elementlar massividir.
sobes.tech AI
AIdan javob
Метод groupBy группирует элементы массива по ключу, который вычисляется переданной функцией. Он возвращает объект, где ключи — это результаты функции, а значения — массивы элементов, соответствующих этим ключам.
Пример реализации Array.prototype.groupBy:
if (!Array.prototype.groupBy) {
Array.prototype.groupBy = function(callback) {
return this.reduce((acc, item, index, array) => {
const key = callback(item, index, array);
if (!acc[key]) {
acc[key] = [];
}
acc[key].push(item);
return acc;
}, {});
};
}
// Пример использования:
const data = [
{ category: 'fruit', name: 'apple' },
{ category: 'vegetable', name: 'carrot' },
{ category: 'fruit', name: 'banana' }
];
const grouped = data.groupBy(item => item.category);
console.log(grouped);
/*
{
fruit: [ { category: 'fruit', name: 'apple' }, { category: 'fruit', name: 'banana' } ],
vegetable: [ { category: 'vegetable', name: 'carrot' } ]
}
*/
Такой метод удобен для структурирования данных по определённым признакам.