Nilai yang terkait dengan masing -masing kunci adalah array yang terdiri dari semua elemen yang menghasilkan nilai pengembalian ketika diteruskan ke panggilan balik.

function groupBy(array, callback) {

  return array.reduce((acc,cur) => {
    let key = callback(cur)
    acc[key] = acc[key] || [];
    acc[key].push(cur)
    return acc;
  },{})
  
}

const decimals = [1.3, 2.1, 2.4];

const floored = function(num) {
  return Math.floor(num);
};

console.log(groupBy(decimals, floored));
Wide-eyed Whale