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 begin
Parameter 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 -1
als 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 end
Parameter 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,3
Elemente im Array bekommen. Nun Position 2
aus der Sequenz starten ist 2
und für letztes Element 3
ist 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 end
einen 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 -1
hier 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!