Sobes.tech
Middle

// Het is nodig om de method groupBy te implementeren, die de standaardmethoden van arrays uitbreidt. // De methode moet een gegroepeerde versie van de array teruggeven – een object, // waarin elke sleutel het resultaat is van het uitvoeren van de functie fn(arr[i]), // en elke waarde een array is die alle elementen van de oorspronkelijke array met die sleutel bevat.

sobes.tech AI

Antwoord van 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] }