Sobes.tech
Middle

// Είναι απαραίτητο να υλοποιηθεί η μέθοδος groupBy, που επεκτείνει τις τυπικές μεθόδους των πινάκων. // Η μέθοδος πρέπει να επιστρέφει μια ομαδοποιημένη έκδοση του πίνακα – ένα αντικείμενο, // στο οποίο κάθε κλειδί είναι το αποτέλεσμα της εκτέλεσης της δοθείσας συνάρτησης fn(arr[i]), // και κάθε τιμή είναι ένας πίνακας που περιέχει όλα τα στοιχεία του αρχικού πίνακα με αυτό το κλειδί.

sobes.tech AI

Απάντηση από AI

javascript 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] }


Этот метод расширяет прототип массива, принимает функцию `fn`, которая вычисляет ключ для каждого элемента, и возвращает объект, где ключи — результаты `fn`, а значения — массивы элементов, соответствующих этим ключам.