
Jebakan Nama yang Membingungkan
Dari puluhan metode Array di JavaScript, ada dua nama yang paling sering membuat *developer* pemula kebingungan (dan sering menjadi soal menjebak saat tes *Interview Kerja*): yaitu slice() dan splice().
Kesalahan memilih di antara keduanya akan memicu *bug* yang sangat susah dilacak, karena yang satu sifatnya Aman (Non-Destructive), sedangkan yang satunya lagi Merusak data asli (Destructive/Mutating).
1. slice() - Pisau Potong yang Aman
Kata slice berarti "mengiris". Fungsi ini mengambil Array milikmu, lalu membuat *fotokopi* baru dari potongan yang kamu inginkan. Array aslinya tidak disentuh atau diubah sama sekali!
- Rumus:
array.slice(indexMulai, indexAkhirSebelum) - Contoh Penggunaan:
const buah = ['Apel', 'Jeruk', 'Mangga', 'Pisang'];
// Ambil mulai dari index 1 (Jeruk) sampai sebelum index 3 (Pisang)
const potongan = buah.slice(1, 3);
console.log(potongan); // Hasil: ['Jeruk', 'Mangga']
console.log(buah); // ASLI TETAP UTUH: ['Apel', 'Jeruk', 'Mangga', 'Pisang']Catatan React: Selalu gunakan slice() di React.js, karena State di React dilarang keras untuk dimutasi (diubah langsung) secara destruktif.
2. splice() - Pisau Bedah yang Merusak
Kata splice berarti "menyambung/membedah". Fungsi ini adalah pisau bedah nyata. Ia akan merobek Array aslimu, mengeluarkan isinya, dan bahkan bisa memasukkan data baru di tengah-tengah sobekan tersebut.
- Rumus:
array.splice(indexMulai, berapaBanyakDihapus, itemBaru1, itemBaru2...) - Contoh Penggunaan:
const mobil = ['Honda', 'Toyota', 'Suzuki', 'Mazda'];
// Mulai dari index 1 (Toyota), hapus 2 buah item, lalu sisipkan 'BMW'
const yangDihapus = mobil.splice(1, 2, 'BMW');
console.log(yangDihapus); // Hasil: ['Toyota', 'Suzuki']
console.log(mobil); // ARRAY ASLI HANCUR/BERUBAH: ['Honda', 'BMW', 'Mazda']Aturan Cara Mengingatnya
Agar tidak tertukar lagi saat ujian Live Coding, ingatlah trik ini:
- sLice (ada huruf L) = Leave it alone (Biarkan saja / Aslinya tetap utuh).
- sPice (ada huruf P) = Permanently changed (Data aslinya berubah permanen).
Mau langsung pakai template?
Jelajahi template gratis dan premium di TampilKit untuk mempercepat proses development project kamu.
Browse Templates