dizideki ilk ve son elemanı kaldırmak için


103

Bir dizideki ilk ve son eleman nasıl kaldırılır?

Örneğin:

var fruits = ["Banana", "Orange", "Apple", "Mango"];

Beklenen çıktı dizisi:

["Orange", "Apple"]

9
bu w3schools'a bağlantılar oluşturmak için 'yumuşak bir top' gibi görünüyor, hatta aynı dizi öğelerini kullandınız. ;-)
Myster

Yanıtlar:


143
fruits.shift();  // Removes the first element from an array and returns only that element.
fruits.pop();    // Removes the last element from an array and returns only that element. 

Bir Dizi için tüm yöntemlere bakın.


JQuery UI ile daha kolaymyArray.effect( "transfer", { item: 'first&&last', to: bin});
iConnor

3
Sevgili olumsuz oy verenler, olumsuz oylarınızın yardımcı olmasını isteyebilirsiniz, bu nedenle lütfen yanıtla ilgili sorunun ne olduğunu açıklayan bir yorum ekleyin ..

3
Bu, kalan diziyi değil, yalnızca kaldırılan (ilk veya son) öğenin değerini
döndürecektir

@RC. Kullanıcıyı gerçek işlev çalışması hakkında bilgilendirmek istiyorum. Cevabınızı sorguluyorum.
Jubin Patel

2
Kullanıcı'nın sizin yazdığınız gibi bu işlevi kullanması gibi, kesinlikle kaldır öğesi olarak düzgün çalışır, AMA kullanıcı return fruits.shift()yazarsa YALNIZCA ilk öğeyi döndürür ve ardından diziden kaldırır.
Jubin Patel

80

1 düzey derin kopya oluşturur.

fruits.slice(1, -1)

Orijinal diziyi bırakın.

Yazım hatalarını işaret ettiği için @ Tim'e teşekkürler.


1
Sanırım slice()daha çok demek istiyorsun splice().
Tim Down

71
Meyve dilimlemek, meyve patlatmaktan veya değiştirmekten çok daha iyidir.
küçükler

2
redux, fonksiyonel javscript ve değişmez şeylerin artan popülaritesi ile bu cevap çok daha iyi
nkint

17

var fruits = ["Banana", "Orange", "Apple", "Mango"];
var newFruits = fruits.slice(1, -1);
console.log(newFruits); //  ["Orange", "Apple"];

Burada -1, bir dizideki son öğeyi ve 1, ikinci öğeyi gösterir.


Ya da fruits = fruits.slice(1,-1);yeni bir değişken oluşturmanız gerekmiyorsa.
Hastig Zusammenstellen

9

Ekleme yöntemini kullanıyorum.

fruits.splice(0, 1); // Removes first array element

var lastElementIndex = fruits.length-1; // Gets last element index

fruits.splice(lastElementIndex, 1); // Removes last array element

Son öğeyi kaldırmak için şu şekilde de yapabilirsiniz:

fruits.splice(-1, 1);

Bkz diziden son öğeyi kaldırın bu konuda daha fazla yorum görmek için.


4

push() bir dizinin sonuna yeni bir öğe ekler.
pop()bir dizinin sonundaki bir öğeyi kaldırır.

unshift() bir dizinin başına yeni bir öğe ekler.
shift()bir dizinin başındaki bir öğeyi kaldırır.

Bir dizinin ilk elemanı çıkarmak için arr, kullanımı arr.shift()
bir dizi son öğesini kaldırmak için arr, kullanıcıarr.pop()



1

Öğeyi diziden çıkarmak kolaydır, sadece aşağıdakileri yapın

let array_splited = [].split('/');
array_splited.pop()
array_splited.join('/')

1

Bu, lodash ile yapılabilir _.tailve _.dropRight:

var fruits = ["Banana", "Orange", "Apple", "Mango"];
console.log(_.dropRight(_.tail(fruits)));
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.11/lodash.min.js"></script>


0
var resident_array =  ["RC_FRONT", "RC_BACK", "RC_BACK"];
var remove_item = "RC_FRONT";
resident_array = $.grep(resident_array, function(value) {
            return value != remove_item;
    });
resident_array = ["RC_BACK", "RC_BACK"];

Diziden ilk öğeyi kaldır.
vikas pal

0

Diyelim ki liste adında bir dizi var. Splice () fonksiyonu hem ekleme ve başında veya sonunda veya herhangi bir dizinde olabilir özgü dizine yani o dizideki öğeyi kaldırmak için kullanılabilir. Aksine , dizideki yalnızca ilk ve son öğeyi kaldırabilen başka bir işlev adı shift () ve pop () vardır.

Bu, dizinin yalnızca ilk öğesini kaldırabilen Shift Fonksiyonudur.

var item = [ 1,1,2,3,5,8,13,21,34 ]; // say you have this number series 
item.shift(); // [ 1,2,3,5,8,13,21,34 ];

Pop İşlevi, öğeyi bir diziden son dizininde kaldırır

item.pop(); // [ 1,2,3,5,8,13,21 ];

Şimdi, öğeyi herhangi bir dizinden kaldırabileceğiniz splice işlevi geliyor

item.slice(0,1); // [ 2,3,5,8,13,21 ] removes the first object
item.slice(item.length-1,1); // [ 2,3,5,8,13 ] removes the last object 

Dilim işlevi iki parametreyi kabul eder ( Başlanacak dizin , gidilecek adım sayısı );


-1

İlk öğeyi kaldırmak için Fruits.shift () yöntemini kullandınız. Son eleman için kullanılan Fruits.pop () yöntemi, düğme tıklaması kullandıysanız tek tek kaldırılır. Fruits.slice (başlangıç ​​konumu, öğeyi sil) Ayrıca orta başlangıçta öğeyi kaldırmak için dilim yöntemini kullandınız.


1
bunu okuyun ve yanıtınızı doğru şekilde biçimlendirin meta.stackexchange.com/questions/22186/…
isuruAb

-1

Bir dizinin ilk ve son elemanı çıkarmak için kullanmaktır bir dizi yani yöntemi dahili shift()ve süre "Muz" olarak dizinin ilk elemanı almak "Mango" olarak dizinin son elemanını olsun. bu nedenle dizinin kalan öğesipop()fruits.shift()fruits.pop()["Orange", "Apple"]


2
verdiğiniz cevap bu soruda zaten mevcut: burada ve burada . Daha fazla açıklamaya ihtiyaç duyduklarını düşünüyorsanız, lütfen memnun olmadığınız yanıtın altına bir yorum bırakın.
Skandix

1
Kodunuzu biçimlendirmek yardımcı olacaktır ( meta.stackexchange.com/questions/22186/… )! Ek olarak, bu cevap diğerleriyle aynı görünmektedir (örneğin, stackoverflow.com/a/43327999/608312 ).
Jake Lee

Not @JakeSteam
chisom okoye
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.