Middle
// Es necesario implementar el método groupBy, que extiende los métodos estándar de los arrays. // El método debe devolver una versión agrupada del array, un objeto, // en el que cada clave sea el resultado de la ejecución de la función pasada fn(arr[i]), // y cada valor sea un array que contiene todos los elementos del array original con esa clave.
sobes.tech AI
Respuesta de la IA
Можно расширить прототип массива, добавив метод 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] }