Estendi Array.prototype con un metodo che raggruppa gli elementi dell'array per una chiave calcolata tramite una funzione passata, e restituisce un oggetto in cui ogni chiave corrisponde a un array di elementi. Spiega cosa succederà se la funzione di calcolo della chiave restituisce qualcosa che non sia una stringa o un numero.