Löschen verhält sich wie eine nicht reale Situation, es entfernt nur das Element, aber die Array-Länge bleibt gleich:
Beispiel vom Knotenterminal:
> var arr = ["a","b","c","d"];
> delete arr[2]
true
> arr
[ 'a', 'b', , 'd', 'e' ]
Hier ist eine Funktion zum Entfernen eines Elements eines Arrays nach Index mithilfe von Slice (). Dabei wird arr als erstes Argument und der Index des Elements, das Sie löschen möchten, als zweites Argument verwendet. Wie Sie sehen können, wird das Mitglied des Arrays tatsächlich gelöscht und die Array-Länge um 1 verringert
function(arr,arrIndex){
return arr.slice(0,arrIndex).concat(arr.slice(arrIndex + 1));
}
Die obige Funktion führt alle Mitglieder zum Index und alle Mitglieder nach dem Index, verkettet sie und gibt das Ergebnis zurück.
Hier ist ein Beispiel, in dem die obige Funktion als Knotenmodul verwendet wird. Es ist hilfreich, das Terminal zu sehen:
> var arr = ["a","b","c","d"]
> arr
[ 'a', 'b', 'c', 'd' ]
> arr.length
4
> var arrayRemoveIndex = require("./lib/array_remove_index");
> var newArray = arrayRemoveIndex(arr,arr.indexOf('c'))
> newArray
[ 'a', 'b', 'd' ] // c ya later
> newArray.length
3
Bitte beachten Sie, dass dies nicht für ein Array mit Dupes funktioniert, da indexOf ("c") nur das erste Vorkommen erhält und nur das erste gefundene "c" herausspleißt und entfernt.
.splice
Schauen Sie sich für In-Schleifen diese Frage an: Aus Array in Javascript löschen .