September 17, 2026

Cara Menggunakan Metode Array: Accessor Methods.

Kumpulan method array di JavaScript yang tidak mengubah array asli, seperti slice, concat, indexOf, dan includes.

Berbeda dari mutator method, accessor method tidak mengubah array aslinya. Method jenis ini selalu mengembalikan nilai baru, baik berupa array, boolean, angka, maupun string — sangat cocok dipakai dalam gaya pemrograman yang menghindari perubahan data secara langsung (immutable style), seperti yang umum di React modern.

slice(): Memotong Tanpa Mengubah Asli

const angka = [1, 2, 3, 4, 5];

const potongan = angka.slice(1, 3);
console.log(potongan); // [2, 3]
console.log(angka);    // [1, 2, 3, 4, 5] — tidak berubah

concat(): Menggabung Array

const a = [1, 2];
const b = [3, 4];

const gabungan = a.concat(b);
console.log(gabungan); // [1, 2, 3, 4]

Di JavaScript modern, spread syntax lebih sering dipakai untuk kebutuhan yang sama:

const gabunganSpread = [...a, ...b];

indexOf() dan lastIndexOf()

const buah = ["Apel", "Jeruk", "Apel", "Mangga"];

buah.indexOf("Apel");     // 0
buah.lastIndexOf("Apel"); // 2
buah.indexOf("Nanas");    // -1, tidak ditemukan

includes()

buah.includes("Jeruk"); // true

includes() lebih disarankan dibanding indexOf() saat hanya ingin mengecek ada/tidaknya elemen, karena hasilnya boolean yang lebih jelas maksudnya.

join(): Array Menjadi String

const hari = ["Senin", "Selasa", "Rabu"];
console.log(hari.join(", ")); // "Senin, Selasa, Rabu"

flat(): Meratakan Array Bersarang

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

bersarang.flat();    // [1, 2, 3, 4, [5, 6]]
bersarang.flat(2);   // [1, 2, 3, 4, 5, 6]

Kesimpulan

Accessor method seperti slice(), concat(), includes(), dan flat() adalah pilihan yang aman ketika kamu tidak ingin mengubah array sumbernya. Kebiasaan memakai accessor method dibanding mutator method akan sangat membantu saat bekerja dengan state di framework modern seperti React atau Vue, yang mengandalkan perbandingan referensi data.

Hey! I’m Fanny, the software engineer tending to this digital garden. You can read more about me, or subscribe by email.

Comments