Sie können dies mit folgenden .slice()Methoden tun :
arr.slice(0, -1); // returns [1,0]
Hier ist eine Demo:
var arr = [1, 0, 2];
var newArr = arr.slice(0, -1); // returns [1,0]
console.log(newArr);
$('#div1').text('[' + arr + ']');
$('#div2').text('[' + newArr + ']');
<script src="http://code.jquery.com/jquery.min.js"></script>
<b>Original Array : </b>
<div id="div1"></div>
<br/>
<b>After slice(0, -1): </b>
<div id="div2"></div>
anstatt zu tun:
arr.slice(-1); // returns [2]
Hier ist eine Demo:
var arr = [1, 0, 2];
var newArr = arr.slice(-1); // returns [2]
console.log(newArr);
$('#div1').text('[' + arr + ']');
$('#div2').text('[' + newArr + ']');
<script src="http://code.jquery.com/jquery.min.js"></script>
<b>Original Array : </b>
<div id="div1"></div>
<br/>
<b>After slice(-1): </b>
<div id="div2"></div>
Erläuterung:-
Die grundlegende Syntax der Array.prototype.slice()oder kurz slice()Methode lautet nun:
arr.slice([begin[, end]])
Hier,
Der beginParameter ist ein auf Null basierender Index, bei dem die Extraktion aus einem Array beginnt. Nehmen wir also am obigen Beispiel an, wenn wir so etwas tun
arr.slice(0) // returns [1,0,2]
es würde alle Array-Elemente vom Beginn der Sequenz von Position 0 zurückgeben und das heißt [1,0,2]. Ebenso, wenn wir es tun
arr.slice(1) // returns [0,2]
es würde zurückkehren, [0,2]da 0 hier an Position 1 ist und alles danach. In Ihrem Fall haben Sie nun einen negativen Index -1als Startparameter übergeben, der einen Versatz vom Ende der Sequenz angibt. Also, slice(-1)in Ihrem Fall extrahiert das letzte Array - Element in der Sequenz und das ist2 ( wie wir bereits in der obigen Demo gesehen haben ).
Lassen Sie uns nun über den endParameter in der slice()Methodensyntax sprechen . Es ist wieder ein auf Null basierender Index, bei dem die Extraktion aus einem Array endet. Nehmen wir also an, wir haben ein Array wie: -
var arr = [1, 0, 2, 5, 3, 9];
und wir wollen nur die 2,5,3Elemente im Array bekommen. Nun Position 2aus der Sequenz starten ist 2und für letztes Element 3ist 4. Wir müssen die Extraktion hier um Position 5 beenden, da wir das Element vor dieser Position erhalten müssen. Also werden wir einfach implementierenslice() Methode wie
arr.slice(2, 5) // returns [2,5,3]
In Ihrem Fall haben wir als Endparameter implementiert -1, sodass unser Code wie folgt ist
arr.slice(0, -1) // returns [1,0]
Gibt als negativer Index endeinen Versatz vom Ende der Sequenz an. So, slice(0,-1)extrahiert das erste Element durch das zweite bis letztes Element in der Sequenz. So erhalten wir die gewünschte Ausgabe. Wir können auch gerne machen
arr.slice(0, 2) // returns [1,0]
Wir werden die gleiche Ausgabe erhalten. Aber ich habe -1hier verwendet , da es einfacher zu implementieren ist, selbst für ein langes Array wie
[0,2,3,1,2,9,3,6,3,9,1,0,2,9,0,1,1,2,3,4,7,9,1]
Wenn Sie nur das letzte Element entfernen möchten, möchten Sie hier nicht sitzen und die Position der letzten 9 berechnen arr.slice(0, 22). Sie können dann einfach die negative Indexlogik hier & do implementieren
arr.slice(0, -1) // same result as arr.slice(0, 22)
Ich hoffe es hilft!