• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Stringvergleich geht nicht

JetStream

New member
Hallo,

ich habe ein Problem mit dem Vergleich von 2 Stringwerten.

Ich habe mir ein 2 dimensionales Array erstellt und Werte im localStorage gespeichert. Ich loope nun das Array und vergleiche den Inhalt mit dem des localStorage.

Der Code schaut dabei so aus:

Code:
for(i = 0; i < arry.length; i++){
        locStor = localStorage.currentValue;
        if(locStor === save[i]["name"]){
          ......
       }
}

Ich habe mir nun bereits den Inhalt des Array an der gesuchten Stelle ausgeben lassen, Array.length, Inhalt von localStorage, sowie den typeOf von beiden Werten.
Es ist immer alles gleich, so das eigentlich die Logik im If ausgeführt werden müsste. Leider macht er es nicht und ich habe keine Ahnung wieso?

Danke für die Hilfe.
 
Hi, danke für die Anwort.

Wie bereits erwähnt sind locStor und save["name"] gleich. Sie haben den gleichen String .z.B. name und sind auch beide bei typeof String
 
dann wären an 3 verschieden Rechner mit 3 unterschiedliche Browser kaputt.. :-D
wenn alles so ist wie du behauptest, ja dann ist das so

- - - Aktualisiert - - -

das dürfte auf allen deinen browsern nicht gehen, oder es stimmt nicht was du gesagt hast
Code:
<!DOCTYPE html>
<html>
  <head>
    <title></title>
    <script>
      localStorage.setItem("currentValue", "xxx");
      var arry = [{name: "xxx"}];
      var save = arry;
      
      for(i = 0; i < arry.length; i++)
      {
        locStor = localStorage.currentValue;
        if(locStor === save[i]["name"])
        {
          alert("gleich");
        }
      }
    </script>
  <head>
  <body>
  </body>
</html>
 
Zuletzt bearbeitet:
Nachdem der Code von hesst bei dir funktioniert und nur deiner nicht, mach doch mal ein
PHP:
console.log(i, locStor, save[i]["name"]);
vor deine Zeile mit der if-Abfrage und schau in die Webconsole deines Browsers.
 
Zurück
Oben