Wie bereits in anderen Antworten erwähnt, verwenden Sie kein JavaScript-Array, sondern ein JavaScript-Objekt, das fast so funktioniert wie ein assoziatives Array in anderen Sprachen, mit der Ausnahme, dass alle Schlüssel in Zeichenketten umgewandelt werden. Das neue Karte speichert Schlüssel als ihren ursprünglichen Typ.
Wenn Sie ein Array und kein Objekt hätten, könnten Sie die Array-Funktion .filtern Funktion, um ein neues Array ohne das zu entfernende Element zurückzugeben:
var myArray = ['Bob', 'Smith', 25];
myArray = myArray.filter(function(item) {
return item !== 'Smith';
});
Wenn Sie einen älteren Browser und jQuery verwenden, hat jQuery eine $.grep
Methode, die in ähnlicher Weise funktioniert:
myArray = $.grep(myArray, function(item) {
return item !== 'Smith';
});
32 Stimmen
Ein Tipp: Verwechseln Sie nicht Arrays und Maps. Einige Sprachen, wie php, haben ein einziges Objekt für beide. Obwohl Sie hier den richtigen Typ verwendet haben (new Object()), haben Sie es myArray genannt, es ist nur eine Frage der Standards einer Sprache.
0 Stimmen
Vergessen Sie nicht, dass JavaScript typfrei ist und alles ein Objekt ist. Siehe die Antwort von Saul unten.
4 Stimmen
@StephanKristyn - um genau zu sein, hat JS Typen, aber in einer dynamisch et schwach Weise. Zum Beispiel sind die Variablen in der Tat typfrei, ihre Werte jedoch nicht. Das ist die dynamisch Teil. Schwach bedeutet, dass Operationen zwischen verschiedenen Werttypen sind nicht genau definiert und beruhen auf Konvertierungen im Hintergrund; zum Beispiel
"Test" + {};
ist eine vollkommen gültige JS-Anweisung.