Quick actions

cmd+k|ctrl+k

Navigation

Languages

Grouping Multidimension Array

Snippet info

Language

JavaScript

Visibility

public

Author

awmuhaemin

Created

2020-10-18T07:33:25Z

Updated

2025-05-22T15:14:43.063984Z

function groupAnimals(animals) {
    // Urutkan array hewan terlebih dahulu untuk memastikan pengelompokan yang konsisten
    // dan agar hewan di dalam setiap grup juga terurut secara alfabetis.
    animals.sort();

    let groupedAnimals = {};

    for (let i = 0; i < animals.length; i++) {
        let firstLetter = animals[i][0];
        if (groupedAnimals[firstLetter]) {
            // Jika huruf pertama sudah ada sebagai kunci, tambahkan hewan ke array yang sudah ada
            groupedAnimals[firstLetter].push(animals[i]);
        } else {
            // Jika huruf pertama belum ada, buat array baru untuk kunci tersebut
            groupedAnimals[firstLetter] = [animals[i]];
        }
    }

    // Ubah objek menjadi array dari array nilai (value)
    // Object.values() akan mengembalikan array dari nilai-nilai properti objek
    console.log(groupedAnimals);
    return Object.values(groupedAnimals);
}

// Contoh penggunaan:
console.log(groupAnimals(['cacing', 'ayam', 'kuda', 'anoa', 'kancil']));
// Output: [["anoa"], ["ayam"], ["cacing"], ["kancil"], ["kuda"]]

console.log(groupAnimals(['cacing', 'ayam', 'kuda', 'anoa', 'kancil', 'unta', 'cicak']));
// Output: [["anoa"], ["ayam"], ["cacing", "cicak"], ["kancil"], ["kuda"], ["unta"]]
INFO