shift ve unshift
- Node.js kursu
- Başlangıç
- Ders 56/116
- 5 dk
.shift ve .unshift ile dizi başına ekleme/çıkarma öğrenirsin.
unshift ile başa ekleme
Bir dizinin başına eleman eklemek için .unshift(x) kullanılır. arr.unshift(0) çağrısı 0'ı arr'nin başına koyar ve dizinin yeni uzunluğunu döndürür. Mevcut elemanlar bir sağa kayar.
Örneğin const nums = [2, 3]; nums.unshift(1); çağrısından sonra nums [1, 2, 3] olur. unshift, push'un baş tarafındaki karşılığıdır. Birden fazla değer de eklenebilir: arr.unshift(-1, 0) ikisini birden başa koyar. unshift de diziyi yerinde değiştirir.
shift ile baştan çıkarma
Bir dizinin ilk elemanını çıkarmak için .shift() kullanılır. Çıkarılan elemanı döndürür ve geri kalan elemanlar bir sola kayar. const nums = [1, 2, 3]; const first = nums.shift(); çağrısında first 1 olur ve nums [2, 3] kalır.
shift boş diziye uygulanırsa undefined döner. shift ve unshift birlikte FIFO (ilk giren ilk çıkar) kuyruk davranışı sağlar. push ile sona eklenen elemanı shift ile baştan çıkarırsan kuyruk oluşur. shift de diziyi yerinde değiştirir.
Uygulama unshift ile ekle ve yazdır
nums değişkenine [2, 3] değeri verilmiş. nums.unshift(1) çağrısıyla 1'i başa ekle; sonra nums[0]'ı console.log ile yazdır. Çıktı tek satırda 1 olmalı.
Başlangıç kodu
const nums = [2, 3];
// nums başa 1 ekle; ilk elemanı yazdırÖrnek çözüm
const nums = [2, 3];
nums.unshift(1);
console.log(nums[0]);Beklenen çıktı
1
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 const a = [2, 3]; a.unshift(1); sonucu ne olur?
const a = [2, 3];
a.unshift(1);- a = [2, 3, 1]
- a = [1]
- a = [2, 3]
- a = [1, 2, 3] Doğru cevap
Açıklama: unshift 1'i başa koyar; a [1, 2, 3] olur.
2 Metodu işleve eşle
| Kavram | Anlamı |
|---|---|
unshift |
Başa ekler |
shift |
Baştan çıkarır |
push |
Sona ekler |
pop |
Sondan çıkarır |
3 shift çağrısını yaz
const nums = [1, 2, 3];
const first = nums____();
const nums = [1, 2, 3];
const first = nums.shift();
Açıklama: .shift ilk elemanı çıkarır.