Kodealgo

Array Flat JavaScript: Sintaks dan Contoh Penggunaan

Method flat() berfungsi meratakan elemen array bersarang agar memiliki kedalaman yang sesuai dengan yang ditentukan.

Misalnya, kita memiliki array [1, 2, [3, 4, 5]], lalu kita ingin meratakannnya agar menjadi satu array [1, 2, 3, 4, 5].

Masalah ini sebetulnya bisa kita selesaikan menggunakan perulangan, tapi cukup merepotkan.

Dengan menggunakan method flat(), array akan diratakan secara otomatis, bahkan kita bisa menentukan kedalaman yang akan diratakan sesuai keinginan.

Mari kita pelajari sintaks dan contoh penggunaannya.

  1. Sintaks
  2. Contoh
    1. Tanpa Menentukan Kedalaman
    2. Dengan Kedalaman
    3. Dengan Kedalaman Infinity

Sintaks

flat(kedalaman);

Parameter

  • kedalaman(opsional): Tingkat kedalaman yang menentukan seberapa dalam array bersarang harus diratakan, default 1.

Nilai Kembalian

Mengembalikan array baru (tidak mengubah array sumber) dengan elemen sub-array yang digabungkan sesuai kedalaman yang ditentukan.

Contoh

Meratakan Array Tanpa Menentukan Kedalaman

Jika kita tidak menentukan kedalaman, method ini akan meratakan array sebanyak satu lapis.

Mari kita lihat contoh di bawah.

Array ini [5, 6, 7] berhasil diratakan (sejajar), tapi array dua lapis [[1, 2]] hanya diratakan satu lapis sesuai dengan nilai kedalaman default.

const arr = [[[1, 2]], 3, 4, [5, 6, 7]];

const result = arr.flat();

console.log(result); // [[1, 2], 3, 4, 5, 6, 7]

Meratakan Array Dengan Menentukan Kedalaman

Kita dapat menentukan kedalaman array sesuai keinginan.

Mari kita gunakan array sebelumnya sebagai contoh, tapi kali ini kita tentukan kedalamannya agar semua array bersarang rata atau sejajar didalam array utama.

const arr = [[[1, 2]], 3, 4, [5, 6, 7]];

const result = arr.flat(2);

console.log(result); // [1, 2, 3, 4, 5, 6, 7]

Hasilnya lapisan array bersarang sekarang dihapus semua, karena kita menentukan nilai kedalaman dengan 2.

Mengapa 2? karena array yang paling dalama adalah 2 lapis dari pembungkus array utama.

Meratakan Array Dengan Kedalaman Infinity

Jika kita ingin meratakan array bersarang yang berlapis-lapis tanpa ribet mencari nilai kedalaman eksplisit, kita bisa menggunkaan nilai Infinity.

Dengan nilai kedalaman Infinity, semua array bersarang akan diratakan atau digabungkan ke array utama.

Mari kita lihat contoh berikut.

const arr = [[[1, [[2]]]], 3, 4, [5, 6, 7]];

const result = arr.flat(Infinity);

console.log(result); // [1, 2, 3, 4, 5, 6, 7]