Lewati ke konten

Array: shift & unshift

Setelah halaman ini, kamu dapat menambahkan elemen ke depan array dengan unshift() dan menghapus elemen pertama dengan shift().


Jika push dan pop bekerja di bagian akhir (belakang) array, shift dan unshift bekerja di bagian awal (depan) array.


Method unshift() menambahkan satu atau lebih elemen baru ke bagian awal array. Ini menggeser semua elemen lama ke indeks yang lebih besar:

📄 TypeScript
const angka = [2, 3]
angka.unshift(1) // [1, 2, 3] (elemen 2 dan 3 bergeser)

Method shift() menghapus elemen pertama dari array dan mengembalikan elemen tersebut. Ini menggeser semua elemen tersisa ke indeks yang lebih kecil:

📄 TypeScript
const angka = [1, 2, 3]
const pertama = angka.shift() // pertama = 1, angka = [2, 3]

Bayangkan antrean di loket tiket bioskop:

  • shift() seperti melayani orang pertama di antrean. Orang tersebut keluar dari antrean, dan semua orang di belakangnya maju satu langkah.
  • unshift() seperti orang yang menyerobot antrean langsung ke paling depan (indeks 0). Semua orang di belakangnya terpaksa bergeser mundur.
🖥️ Output
Serobot depan (unshift) ──► [ Antrean ] ──► Layani depan (shift)

🖥️ Output
Awal: [2, 3]
unshift(1) ──► [1, 2, 3] (indeks 2 & 3 digeser ke kanan)
shift() ──► [2, 3] (indeks 1 dihapus, 2 & 3 maju ke kiri)

Buat src/bab5/shift-unshift.ts:

📄 TypeScript
const antreanSiswa: string[] = ["Budi", "Citra"]
console.log("Awal :", antreanSiswa)
// Menambah ke depan antrean
antreanSiswa.unshift("Andi")
console.log("unshift(1):", antreanSiswa)
// Menghapus dari depan antrean
const dilayani = antreanSiswa.shift()
console.log("\ndilayani :", dilayani)
console.log("Setelah shift:", antreanSiswa)

Jalankan:

🖥️ Output
tsx src/bab5/shift-unshift.ts
🖥️ Output
Awal : [ 'Budi', 'Citra' ]
unshift(1): [ 'Andi', 'Budi', 'Citra' ]
dilayani : Andi
Setelah shift: [ 'Budi', 'Citra' ]


📄 TypeScript
const data = [2, 3]
const hasil = data.unshift(1)
console.log(hasil) // Output: 3 (panjang array baru, bukan array-nya!)

Sama seperti push(), unshift() mengembalikan panjang array yang baru, bukan array itu sendiri.



Buat array berisi nama 3 tugas sekolah. Masukkan tugas baru yang mendesak ke paling depan menggunakan unshift(). Hapus tugas pertama menggunakan shift() setelah selesai dikerjakan, dan tampilkan hasilnya.


  • unshift() menambah satu/lebih elemen di depan array.
  • shift() menghapus satu elemen pertama dan mengembalikannya.
  • Kedua method ini memodifikasi (mengubah) array asli.
  • Keduanya menggeser nomor indeks seluruh elemen tersisa.