Middle
23
// groupBy әдісін жүзеге асырыңыз, стандартты массив әдістерін кеңейтіңіз. // Бұл әдіс массивтің топтастырылған нұсқасын қайтаруы керек – объект, // оның әр кілті fn(arr[i]) функциясының нәтижесі, // ал әр мәні – сол кілтпен барлық бастапқы массив элементтерін қамтитын массив.
Сұралған компаниялар
AI-дан жауап
sobes.tech AI
Можно расширить прототип массива, добавив метод groupBy, который принимает функцию fn и возвращает объект, где ключи — результат вызова fn для каждого элемента, а значения — массивы элементов с этим ключом.
Array.prototype.groupBy = function(fn) {
return this.reduce((acc, item) => {
const key = fn(item);
if (!acc[key]) {
acc[key] = [];
}
acc[key].push(item);
return acc;
}, {});
};
// Пример использования:
const arr = [6.1, 4.2, 6.3];
const grouped = arr.groupBy(Math.floor);
console.log(grouped); // { '4': [4.2], '6': [6.1, 6.3] }