diziden ilk öğeyi kaldır ve diziyi eksi ilk öğeyi döndür


102

var myarray = ["item 1", "item 2", "item 3", "item 4"];

//removes the first element of the array, and returns that element.
alert(myarray.shift());
//alerts "item 1"

//removes the last element of the array, and returns that element.
alert(myarray.pop());
//alerts "item 4"

  1. İlk dizi nasıl kaldırılır, ancak dizi eksi ilk öğe nasıl döndürülür
  2. Örneğimde "item 2", "item 3", "item 4"ilk öğeyi kaldırdığımda almalıyım

6
alert(array.slice(1))veyaarray.shift(); alert(array);
Thomas

2
@Thomas i kullandığınızda myarray.shift()döner "item 1"neyi istediğim dönüş olduğunu"item 2", "item 3", "item 4"
Brownman Revival

Lütfen yazdığım kodun tamamını okuyunshift()
Thomas

1
İlk eleman olmadan yeni dizi oluşturmanız gerekiyorsa, dilim kullanın.
Arnial

6
Sadece karışıma bir tane daha eklemek için :) Yıkıcı ile:[,...myarray] = myarray;
Me.Name

Yanıtlar:


151

Bu, ilk öğeyi kaldırmalı ve ardından geri kalanı iade edebilirsiniz:

var myarray = ["item 1", "item 2", "item 3", "item 4"];
    
myarray.shift();
alert(myarray);

Başkalarının da önerdiği gibi, dilim (1) 'i de kullanabilirsiniz;

var myarray = ["item 1", "item 2", "item 3", "item 4"];
  
alert(myarray.slice(1));


27
Not slice(1) gelmez diziden "ilk elemanını kaldır". Bunun yerine, diziden ilki hariç tüm değerlerin sığ kopyalarını içeren yeni bir dizi oluşturur .
TJ Crowder

2
Bir dizi diziniz varsa dilim (1) kullanmak yararlıdır.
Flummox - kötü olma SE

25

Neden ES6 kullanmıyorsunuz?

 var myarray = ["item 1", "item 2", "item 3", "item 4"];
 const [, ...rest] = myarray;
 console.log(rest)


Bu fikri beğendim, ancak ilk önce kullanılmayan bir sabit olacak.
giovannipds

3
Bunu const [,...rest] = myarray= O = D
giovannipds

6

Bunu dene

    var myarray = ["item 1", "item 2", "item 3", "item 4"];

    //removes the first element of the array, and returns that element apart from item 1.
    myarray.shift(); 
    console.log(myarray); 

bunu denedin mi? güncellenmiş soruma "item 1"
pasajla bakın

3

Bu, lodash ile tek satırda yapılabilir _.tail:

var arr = ["item 1", "item 2", "item 3", "item 4"];
console.log(_.tail(arr));
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.11/lodash.min.js"></script>


-1

Array.slice (0,1) kullanabilirsiniz. // İlk indeks kaldırılır ve dizi döndürülür.


2
İlk dizin kaldırılmaz, ilk öğe olmadan bir kopya oluşturulur. Orijinal dizi değiştirilmez.
Emaborsa

Ayrıca, dilim (0,1) yalnızca ilk öğeyi içeren bir dizi döndürecektir . Bunun yerine , kabul edilen cevapta olduğu gibi , ilk öğe hariç tümünü içeren bir dizi elde etmek için dilim (1) 'i çağırmanız gerekir
schellmax
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.