Ich habe folgendes Array.
var arr = [1,0,2];
Ich möchte das letzte Element, d.h. 2, entfernen.
Ich habe arr.slice(-1);
verwendet, aber es entfernt den Wert nicht.
Ich habe folgendes Array.
var arr = [1,0,2];
Ich möchte das letzte Element, d.h. 2, entfernen.
Ich habe arr.slice(-1);
verwendet, aber es entfernt den Wert nicht.
Array.prototype.pop() nach JavaScript-Konvention.
let fruit = ['apple', 'orange', 'banana', 'tomato'];
let popped = fruit.pop();
console.log(popped); // "tomato"
console.log(fruit); // ["apple", "orange", "banana"]
Verwenden Sie splice(startPosition, deleteCount)
array.splice(-1)
var array = ['abc','def','ghi','123'];
var removed = array.splice(-1); //letztes Element
console.log( 'array:', array );
console.log( 'removed:', removed );
Dies können Sie mit der Methode .slice()
wie folgt tun:
arr.slice(0, -1); // gibt [1,0] zurück
Hier ist eine Demo:
var arr = [1, 0, 2];
var newArr = arr.slice(0, -1); // gibt [1,0] zurück
console.log(newArr);
$('#div1').text('[' + arr + ']');
$('#div2').text('[' + newArr + ']');
Ursprüngliches Array :
Nach slice(0, -1):
anstatt:
arr.slice(-1); // gibt [2] zurück
Hier ist eine Demo:
var arr = [1, 0, 2];
var newArr = arr.slice(-1); // gibt [2] zurück
console.log(newArr);
$('#div1').text('[' + arr + ']');
$('#div2').text('[' + newArr + ']');
Ursprüngliches Array :
Nach slice(-1):
Die grundlegende Syntax der Array.prototype.slice()
Methode oder kurz slice()
Methode lautet:
arr.slice([begin[, end]])
Hierbei ist der Parameter begin
der nullbasierte Index, ab dem die Extraktion aus einem Array beginnt. Nehmen wir also an, dass wir basierend auf dem obigen Beispiel etwas wie
arr.slice(0) // gibt [1,0,2] zurück
ausführen, würden alle Array-Elemente ab dem Anfang der Sequenz ab Index 0 zurückgegeben, das heißt [1,0,2]
. Ebenso, wenn wir
arr.slice(1) // gibt [0,2] zurück
ausführen würden, würde [0,2]
zurückgegeben, da 0 hier an Position 1 steht und alles danach. In Ihrem Fall haben Sie einen negativen Index, nämlich -1
, als Beginn-Parameter übergeben, was einen Offset vom Ende der Sequenz angibt. Daher extrahiert slice(-1)
in Ihrem Fall das letzte Array-Element in der Sequenz, also 2
(wie bereits in der obigen Demo gesehen).
Jetzt wollen wir über den end
Parameter in der Syntax der slice()
Methode sprechen. Er handelt sich erneut um einen nullbasierten Index, an dem die Extraktion aus einem Array endet. Angenommen, wir haben ein Array wie:-
var arr = [1, 0, 2, 5, 3, 9];
und wir wollen nur die Elemente 2,5,3
im Array erhalten. Jetzt ist die Position von 2
vom Anfang der Sequenz aus betrachtet 2 und für das letzte Element 3
ist es 4. Wir müssen die Extraktion hier an Position 5 beenden, da wir das Element davor erhalten möchten. Also implementieren wir einfach die slice()
Methode hier wie folgt
arr.slice(2, 5) // gibt [2,5,3] zurück
In Ihrem Fall haben wir -1
als Endparameter implementiert, also sieht unser Code so aus
arr.slice(0, -1) // gibt [1,0] zurück
Als negativer Index gibt end
einen Offset vom Ende der Sequenz an. Daher extrahiert slice(0,-1)
das erste Element bis zum vorletzten Element in der Sequenz. So erhalten wir das gewünschte Ergebnis. Wir können auch folgendes tun
arr.slice(0, 2) // gibt [1,0] zurück
wir erhalten das gleiche Ergebnis. Aber ich habe hier -1
verwendet, da es auch 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 einfach das letzte Element entfernen möchten, möchten Sie nicht sitzen und die Position des letzten 9 hier berechnen und dann wie arr.slice(0, 22)
machen. Sie können dann einfach die Logik des negativen Index hier implementieren und machen
arr.slice(0, -1) // dasselbe Ergebnis wie arr.slice(0, 22)
lernen durch Beispiel:
let array_1 = [1,2,3,4];
let array_2 = [1,2,3,4];
let array_3 = [1,2,3,4];
let array_4 = [1,2,3,4];
array_1.splice(-1,1) // zurückgegeben --> [4] array_1 = [1,2,3]
array_2.slice(0,-1); // zurückgegeben --> [1,2,3] array_2 = [1,2,3,4]
array_3.pop(); // zurückgegeben --> 4 array_3 = [1,2,3]
array_4.shift(); // zurückgegeben --> 1 array_4 = [2,3,4]
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.