Sobes.tech
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] }