Middle
// Es ist notwendig, die Methode groupBy zu implementieren, die die Standardmethoden von Arrays erweitert. // Die Methode sollte eine gruppierte Version des Arrays zurückgeben – ein Objekt, // bei dem jeder Schlüssel das Ergebnis der Ausführung der Funktion fn(arr[i]) ist, // und jeder Wert ein Array ist, das alle Elemente des ursprünglichen Arrays mit diesem Schlüssel enthält.
sobes.tech KI
Antwort von 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] }