BİLGİ SAYAMIYORUM beta

Javascript ile bir listenin belirli bir elemanı ya da elemanları, o listeden nasıl atılır?

0

Javascript listeleri de bazen dertli olabiliyor, ama modern(!) her yerde aynı çalışan ve kolay adapte edilen bir script dili için fazlasıyla işlevsel. Basit işlemler bazen dertli olabilse de biliyorsunuz ki, ya yapmanın başka bir yolu var, ya yeni versiyonunda eklerler ya da eklenti vardır o işi yapan. Bu örnek onlardan biri değil, en azından IE 9 dan itibaren düzgün çalışan indexOf fonksiyonu çoğunlukla işinizi görür:

     var liste = [3, 5, 7, 9, 11];
     var konum = liste.indexOf(7);

     if (konum > -1) {
          liste.splice(konum, 1);
     }

liste adında bir liste oluşturuyorum, ardından 7 nin listedeki konumuna bakıyorum. Eğer o konum 0 ya da daha büyük bir sayı ise, o konumdan itibaren splice ile listeden öğe çıkartıyorum. Splice fonksiyonun burda 1 olan ikinci parametresi kaç tane sayı çıkartmak istenildiğini belirliyor. Yani bu sayıyı 3 yaparsanız, konumdan itibaren 3 sayıyı listeden çıkartırsınız. Şu şekilde çıkarttığınız öğeyi bir değişkene de atabilirsiniz:

     var silinen = liste.splice(konum, 1)[0];

Ayrıca daha ilk ve son elemanı bir listeden çıkartmak istiyorsanız, bunu şu şekilde yapabilirsiniz, bunlar da elemanları sonuç olarak döndüren fonksiyonlardır:

     liste.shift()
     liste.pop()

Bu tekniğin tabii işinize gelmeyeceği durumlar da mevcut. Ancak filtreleme ve "içeriğinde var mı" fonksiyonları çok detaylı ve her tarayıcıya uygun yazılmadıkları sürece fazlasıyla dertli olabiliyorlar. IndexOf fonksiyonu bile Internet Explorer 9 öncesinde sınırlı olduğu için düzgün çalışmayacaktır, çalışmazsa çalışmasınlar demek istiyorum açıkçası ama yine de; polyfill ile onlar için de uygun kodlar yazabilirsiniz.

BENZER 7

Kimse etkileşime girmemiş

ETİKETLER