Ich benutze JavaScript-Map, um Schlüssel und Werte zu speichern. Später überprüfe ich, ob der angegebene Schlüssel in der Karte vorhanden ist oder nicht, aber manchmal gibt es korrekte Ergebnisse, manchmal nicht. Ich habe versucht, die Karte mit console.log(mapname)
zu drucken, es zeigt alle Schlüssel, aber wenn ich versuche zu überprüfen, ob ein bestimmter Schlüssel vorhanden ist - manchmal gibt es falsche Antwort.seltsames Verhalten mit Javascript Karte/Objekt
sind mit folgendem Code:
// following code is called n times in loop with different/same vales of x
myMap : new Object();
var key = x ; // populated dynamically actually
myMap[key] = "dummyval";
if(myIdMap[document.getElementById("abc").value.trim()] != null)
alert('present');
else
alert('not present');
Was das mögliche Problem sein kann? Können alphanumerische Zeichenketten/ganze Zahlen als Schlüssel verwendet werden?
Können wir den Zusammenhang sehen, dass Sie nimmst du das? Wo ist 'myMap' definiert (sieht aus wie in einem Objektliteral)? Wie wird 'x' erstellt (ist es ein globales oder irgendwie als Argument übergeben)? Sie haben auch gesagt, dass manchmal dieselben Werte als "x" übergeben werden ... der resultierende Wert, der dem alten Wert von "x" zugeordnet ist, wird natürlich zerstört, wenn Sie das tun. Aber wir könnten wirklich mehr Details verwenden. Es ist schwierig, ein Problem wie dieses mit so wenig zu diagnostizieren. – Reid
gibt es mehrere Syntax-/Referenzfehler in diesem Code. können Sie den tatsächlichen Code posten, den Sie verwenden. – Stephen