Entfernen Sie das erste Element aus dem Array und geben Sie das Array abzüglich des ersten Elements zurück

98

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. So entfernen Sie das erste Array, geben aber das Array abzüglich des ersten Elements zurück
  2. In meinem Beispiel sollte ich bekommen, "item 2", "item 3", "item 4"wenn ich das erste Element entferne
Brownman Wiederbelebung
quelle
6
alert(array.slice(1))oderarray.shift(); alert(array);
Thomas
2
@ Thomas, wenn ich myarray.shift()Rückgabe benutze, "item 1"was ich will, ist Rückgabe"item 2", "item 3", "item 4"
Brownman Revival
Bitte lesen Sie den gesamten Code, den ich geschrieben habe, mitshift()
Thomas
1
Wenn Sie ein neues Array ohne erstes Element erstellen müssen, verwenden Sie Slice.
Arnial
6
Nur um noch einen zum Mix hinzuzufügen :) Mit Destrukturierung:[,...myarray] = myarray;
Me.Name

Antworten:

142

Dies sollte das erste Element entfernen, und dann können Sie das verbleibende zurückgeben:

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

Wie andere vorgeschlagen haben, können Sie auch Slice (1) verwenden.

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

Jesper Højer
quelle
27
Man beachte , dass slice(1) nicht aus dem Array „um das erste Element entfernen“. Stattdessen wird ein neues Array mit flachen Kopien aller Werte aus dem Array mit Ausnahme des ersten erstellt.
TJ Crowder
2
Nützlich, um Slice (1) zu verwenden, wenn Sie ein Array von Arrays haben.
Flummox - sei nicht böse SE
18

Warum nicht ES6 verwenden?

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

Tudor Morar
quelle
Ich mag diese Idee, außer dass es zuerst eine unbenutzte Konstante sein wird.
Giovannipds
3
Kann das mit const [,...rest] = myarray= O = D
giovannipds
6

Versuche dies

    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); 
Ich bin Geeker
quelle
"item 1"
Hast
3

Dies kann in einer Zeile mit lodash erfolgen _.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>

Penny Liu
quelle
-1

Sie können array.slice (0,1) // verwenden. Der erste Index wird entfernt und das Array zurückgegeben.

Hassan Abbas
quelle
2
Der erste Index wird nicht entfernt, eine Kopie wird ohne das erste Element erstellt. Das ursprüngliche Array wird nicht geändert.
Emaborsa
Außerdem gibt Slice (0,1) ein Array zurück, das nur das erste Element enthält . Stattdessen müssen Sie Slice (1) aufrufen, um ein Array zu erhalten, das alle
Elemente