Javascript - Diziden Eleman Silme

S

Shiva

Veteran
Joined
Jul 31, 2019
Messages
4,067
Reaction score
13,320
Location
Berlin
JavaScript dizileri değerleri gruplamanıza ve üzerinde yinelemenize izin verir. Dizi öğelerini farklı yollarla ekleyebilir ve kaldırabilirsiniz. Ne yazık ki, basit bir Array.remove yöntemi yoktur.

Peki, bir elemanı JavaScript dizisinden nasıl silersiniz?


Silme yöntemi yerine, JavaScript dizisinin dizi değerlerini temizlemenin çeşitli yolları vardır.

Bir dizinin sonundan pop kullanarak, shift kullanarak baştan veya splice kullanarak ortasından öğeleri çıkarabilirsiniz. İstenilen öğeleri kaldırmak için daha gelişmiş bir yol olan istenen öğelerle yeni bir dizi oluşturmak için JavaScript filitreleri kullanabilirsiniz.

JavaScript Dizininin Öğelerini Kaldırma
JavaScript Dizi öğeleri, uzunluk özelliğini geçerli değerden daha düşük bir değere ayarlayarak bir dizinin sonundan kaldırılabilir. Dizini yeni uzunluğa eşit veya daha büyük olan herhangi bir öğe kaldırılacaktır.

JavaScript:
<script>
   
    const dizi = [1, 2, 3, 4, 5, 6];
    dizi.length = 4;
    console.log( dizi );
   
</script>

Pop yöntemi dizinin son öğesini kaldırır, o öğeyi döndürür ve length özelliğini günceller. Pop metodu çağrıldığı diziyi değiştirir, Bu, silme işleminin aksine son elemanın tamamen kaldırılması ve dizi uzunluğunun azaltılması anlamına gelir.
JavaScript:
<script>
   
    const dizi = [1, 2, 3, 4, 5, 6];
    dizi.pop();
    console.log( dizi );
   
</script>

Öğeleri JavaScript Dizinin Başından Kaldırma
Bir JavaScript dizisinin ilk öğesini nasıl kaldırırsınız?

Shift yöntemi, en çok bir JavaScript dizisinin ilk öğesini kaldırması dışında pop yöntemine çok benzer.

Shift yöntemi yalnızca ilk dizi öğesini kaldırdığından hiçbir parametre yok. Eleman çıkarıldığında, kalan elemanlar aşağı kaydırılır.

JavaScript:
<script>
   
    const dizi = [1, 2, 3, 4, 5, 6];
    dizi.shift();
    console.log( dizi );
   
</script>

Shift yöntemi, kaldırılan öğeyi döndürür, kalan öğelerin dizinlerini günceller ve length özelliğini günceller. Çalıştığı diziyi değiştirir.

Eleman yoksa veya dizi uzunluğu 0 ise, yöntem tanımsız döndürür.

Dizi Öğelerini JavaScript’te Kaldırmak için Splice Kullanma
Ekleme yöntemi bir diziden öğe eklemek veya kaldırmak için kullanılabilir. İlk argüman, öğeleri eklemeye veya kaldırmaya başlayacağınız yeri belirler. İkinci argüman kaldırılacak öğe sayısını belirtir. Üçüncü ve sonraki argümanlar isteğe bağlıdır; diziye eklenecek öğeleri belirtirler.

Burada, üçüncü konumdan (sıfır tabanlı dizin) başlayan iki öğeyi kaldırmak için splice yöntemini kullanıyoruz:

JavaScript:
<script>
   
    const dizi = [1, 2, 3, 4, 5, 6];
   const dizi2= dizi.splice(2,2);
    console.log( dizi2 );
   
</script>

Kaldırılan elemanları içeren bir dizi splice metodu ile döndürülür. Kaldırılan dizinin [3, 4] içerdiğini ve orijinal dizinin kalan değerleri içerdiğini görebilirsiniz.

Ekleme yöntemi, bir diziden bir dizi öğeyi kaldırmak için de kullanılabilir.

JavaScript:
<script>
   
    const dizi = [1, 2, 3, 4, 5, 6];
    const dizi2= dizi.splice(0, 2);
    console.log( dizi );
    console.log( dizi2 );
   
</script>

Dizi Öğelerini Splice Kullanarak Değere Göre Kaldırma
Bir diziden kaldırmak istediğiniz değeri biliyorsanız, splice yöntemini kullanabilirsiniz. İlk önce, hedef öğenin indeksini tanımlamanız gerekir. Daha sonra dizini başlangıç elemanı olarak kullanır ve sadece bir elemanı kaldırırsınız.

JavaScript:
<script>
   
    const arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0];

    for( var i = 0; i < arr.length; i++){
       if ( arr[i] === 5) { //çıkarılacak değer 5
         arr.splice(i, 1);
       }
    }
    console.log(arr);
</script>

Öğeleri Değerine Göre Kaldırmak için Dizi filtresi Yöntemini Kullanma
Splice yönteminin aksine, filtre yeni bir dizi oluşturur. filter () çağrıldığı diziyi değiştirmez, ancak yeni bir dizi döndürür.

filter() ‘in bir geri arama yöntemi olan tek bir parametresi vardır. Filtre yöntemi, dizi öğeleri arasında yinelenirken geri arama tetiklenir. Geri aramaya üç değer iletir: geçerli değer veya öğe, geçerli dizi dizini ve tam dizi.

Geri çağırma yöntemi doğru veya yanlış olarak dönmelidir. Kriterlerinizi karşılayıp karşılamadığını görmek için değeri (element) test etmek sizin sorumluluğunuzdadır. Eğer öyleyse, doğru geri dönebilirsiniz. true döndüren öğeler yeni, filtrelenmiş diziye eklenir.

JavaScript:
1
2
3
4
5
6
7
8
9
10
11
<script>
   
    var array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0];

    var filtre = array.filter(function(value, index, arr){

        return value > 5;

    });
    console.log(filtre);
</script>

delete İşlecini Kullanarak Dizi Öğelerini Açıkça Kaldırma

JavaScript:
<script>
   
    var arr = [1, 2, 3, 4, 5, 6];
    delete arr[4];
    console.log( arr );
    alert( arr ); // 1,2,3,4,,6

</script>

delete işlecini kullanmak, uzunluk özelliğini etkilemez. Ayrıca sonraki elemanların indekslerini de etkilemez. Dizi seyrekleşir; bu, silinen öğenin kaldırılmadığını, ancak tanımlanamadığını söylemenin süslü bir yoludur. Silme işlemini aşağıda açıklanan ekleme yöntemi ile karşılaştırın.

delete işleci, dizileri nesne olan JavaScript nesnelerinden özellikleri kaldırmak için tasarlanmıştır.

Öğenin diziden gerçekte kaldırılmamasının nedeni, silme işleci, bir öğeyi silmekten çok belleği boşaltmakla ilgili olmasıdır. Değere daha fazla referans olmadığında bellek serbest kalır.

JavaScript Dizisini Temizle veya Sıfırla
Tüm diziyi boşaltmak ve tüm öğelerini boşaltmak istiyorsanız?

Boş veya yeni bir dizi oluşturmak için kullanabileceğiniz birkaç teknik vardır.

En basit ve en hızlı teknik, bir dizi değişkenini boş bir diziye ayarlamaktır:

JavaScript:
var ar = [1, 2, 3, 4, 5, 6];

ar = [];

Özetle
JavaScript Dizi öğelerini kaldırmak, verilerinizi yönetmek için önemlidir. Tek bir ‘remove’ yöntemi yoktur, ancak istenmeyen dizi öğelerini temizlemek için kullanabileceğiniz farklı yöntem ve teknikler vardır.

Bu makale, bu yöntemleri ve nasıl kullanıldıklarını gözden geçirdi. Ayrıca, bir dizideki öğeleri kaldırmayı biraz daha kolay ve tutarlı kılan bir yardımcı yöntemin nasıl oluşturulduğunu da gördünüz.
 
SPAM IS FORBIDDEN!
  • SPAMMERS ARE BANNED FROM THE FORUM AND CANNOT USE ANY OF THE CHEATS
  • For example: thanks, thx, very good, asdqwe, working, ty and so on!
  • For example: Writing the same message over and over. thanks, thx and so on!
  • Copying and copying someone else's message is prohibited.
  • It is forbidden to send messages to increase the number of comments on threads that you have no knowledge of.
  • Write your own opinion when commenting!
  • If you see spam message, please let us know with the REPORT button!

Tema düzenleyici

Top Bottom