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

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));


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)


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); 

"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>


-1

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


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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.