Middle
// Il est nécessaire d'implémenter la méthode groupBy, qui étend les méthodes standard des tableaux. // La méthode doit retourner une version groupée du tableau – un objet, // dans lequel chaque clé est le résultat de l'exécution de la fonction fn(arr[i]), // et chaque valeur est un tableau contenant tous les éléments du tableau d'origine avec cette clé.
sobes.tech IA
Réponse de l'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] }