Bir kullanıcı komut dosyası geliştiricisi olduğumu ve sayfadaki javascript üzerinde kontrol sahibi olmadığımı varsayalım. Sayfa rastgele uzunluklara sahip diziler oluşturur ve bunları rastgele değerler ile doldurur (örneğin, undefined
gibi falsy olanlar dahil). Her elemanın bir değer atanması gerekmez, bu yüzden boş yuvalar olabilir.Tanımsız dizi elemanları ve boş yuvalar nasıl söylenir?
bir basitleştirilmiş bir örnek (Firefox konsol): javascript onlar özdeş görünmektedir oysa
var arr = new Array(3);
arr[0] = null;
arr[1] = undefined;
console.log(arr); \\ Array [ null, undefined, <1 empty slot> ]
console.log(arr[1]); \\ undefined
console.log(arr[2]); \\ undefined
console.log(arr[1] === arr[2]); \\ true
console.log(typeof arr[1]); \\ undefined
console.log(typeof arr[2]); \\ undefined
Gördüğümüz gibi, Firefox farklı undefined
ve boş yuva görüntüler.
Şimdi varsayalım ki böyle bir diziyi temizlemek, tüm boş yuvaları kaldırmak ama undefined
öğelerini bozulmadan bırakmak istiyorum. Bunu nasıl yaparım?
neyi boş yuva demektir? yeni bir dizi ister misin –