um das erste und letzte Element im Array zu entfernen


102

Wie entferne ich das erste und letzte Element in einem Array?

Beispielsweise:

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

Erwartetes Ausgabearray:

["Orange", "Apple"]

9
Dies sieht aus wie ein "weicher Ball" zum Erstellen von Links zu w3schools. Sie haben sogar dieselben Array-Elemente verwendet. ;-)
Myster

Antworten:


142
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. 

Alle Methoden für ein Array anzeigen.


Es ist einfacher mit jQuery UImyArray.effect( "transfer", { item: 'first&&last', to: bin});
iConnor

3
Liebe Downvoter, vielleicht möchten Sie, dass Ihre Downvotes hilfreich sind. Fügen Sie daher bitte einen Kommentar hinzu, in dem erklärt wird, was mit der Antwort nicht stimmt.

3
Dies gibt nur den Wert des entfernten (ersten oder letzten) Elements zurück, nicht das verbleibende Array
Jubin Patel

@RC. Ich möchte den Benutzer nur über die tatsächliche Funktionsweise informieren. Ich frage nach Ihrer Antwort.
Jubin Patel

2
Wie der Benutzer diese Funktion genauso verwendet, wie Sie sie schreiben, funktioniert sie definitiv ordnungsgemäß als Element zum Entfernen. ABER wenn der Benutzer sie schreibt return fruits.shift(), wird NUR das erste Element zurückgegeben und dann aus dem Array entfernt.
Jubin Patel

78

Erstellt eine 1-stufige Kopie.

fruits.slice(1, -1)

Lassen Sie das ursprüngliche Array los.

Vielen Dank an @Tim für den Hinweis auf die Rechtschreibfehler.


1
Ich denke du meinst slice()eher als splice().
Tim Down

70
Das Schneiden von Früchten ist viel besser als das Knallen oder Verschieben von Früchten.
Pettys

2
Mit zunehmender Popularität von Redux, funktionalem Javscript und unveränderlichen Dingen ist diese Antwort viel besser
nkint

17

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

Hier bezeichnet -1 das letzte Element in einem Array und 1 das zweite Element.


Oder nur, fruits = fruits.slice(1,-1);wenn Sie keine neue Variable erstellen müssen.
Hastig Zusammenstellen

9

Ich benutze die Spleißmethode.

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

Um das letzte Element zu entfernen, können Sie dies auch folgendermaßen tun:

fruits.splice(-1, 1);

Siehe Entfernen letztes Element von Array zu mehr Kommentare über sie zu sehen.


4

push()Fügt am Ende eines Arrays ein neues Element hinzu.
pop()Entfernt ein Element vom Ende eines Arrays.

unshift()Fügt am Anfang eines Arrays ein neues Element hinzu.
shift()Entfernt ein Element vom Anfang eines Arrays.

Um das erste Element aus einem Array zu entfernen arr, verwenden Sie arr.shift()
Um das letzte Element aus einem Array zu entfernen arr, verwenden Siearr.pop()



1

Um das Element aus dem Array zu entfernen, gehen Sie einfach wie folgt vor

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

1

Dies kann mit lodash erfolgen _.tailund _.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"];

Entfernen Sie das erste Element aus dem Array.
Vikas Pal

0

Angenommen, Sie haben eine Array-Namensliste. Die Splice () -Funktion kann zum Hinzufügen und Entfernen von Elementen in diesem Array in einem bestimmten Index verwendet werden, dh am Anfang oder am Ende oder an einem beliebigen Index. Im Gegenteil, es gibt einen anderen Funktionsnamen shift () und pop (), mit dem nur das erste und das letzte Element im Array entfernt werden können.

Dies ist die Shift-Funktion, mit der nur das erste Element des Arrays entfernt werden kann

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

Die Pop-Funktion entfernt Elemente an ihrem letzten Index aus einem Array

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

Jetzt kommt die Spleißfunktion, mit der Sie Elemente an jedem Index entfernen können

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 

Die Slice-Funktion akzeptiert zwei Parameter ( Index zu Beginn , Anzahl der verbleibenden Schritte );


-1

Sie haben die Methode Fruits.shift () verwendet, um das erste Element zu entfernen. Die für das letzte Element verwendete Fruits.pop () -Methode wird nacheinander entfernt, wenn Sie auf die Schaltfläche klicken. Fruits.slice (Startposition, Element löschen) Sie haben auch die Slice-Methode zum Entfernen des Elements im mittleren Start verwendet.


1
Lesen Sie dies und formatieren Sie Ihre Antwort richtig meta.stackexchange.com/questions/22186/…
isuruAb

-1

Um das erste und das letzte Element eines Arrays zu entfernen wird unter Verwendung der integrierte Methode eines Arrays dh shift()und pop()das fruits.shift()erhalten das erste Element des Arrays als „Banana“ , während fruits.pop()das letzte Element des Arrays als „Mango“ erhalten. Das verbleibende Element des Arrays ist also["Orange", "Apple"]


2
Die Antwort, die Sie gegeben haben, existiert bereits in dieser Frage: hier und hier . Wenn Sie der Meinung sind, dass sie weitere Erklärungen benötigen, hinterlassen Sie bitte einen Kommentar unter der Antwort, mit der Sie nicht zufrieden sind.
Skandix

1
Das Formatieren Ihres Codes hilft ( meta.stackexchange.com/questions/22186/… )! Darüber hinaus scheint diese Antwort mit anderen identisch zu sein (z . B. stackoverflow.com/a/43327999/608312 ).
Jake Lee

Noted @JakeSteam
chisom okoye
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.