NEWS
Array auslesen (gelöst)
-
Hallo Zusammen,
ich habe eine Frage zum Auslesen von arrays.
Hier mein Testscript:
var test; for ( var a = 0 ; a < 3 ; a++ ) { test=[]; for (var b = 0 ; b < 3 ; b++ ) { test[a]=[]; test[a][b] = "Testtext"; log("a="+a+" - b="+b+" - Inhalt="+test[a][b]); log("festgelegt:"+test[0][0]); } }Ich versuche ein zweidimensionales Array auszulesen. Der Einfachheit halber schreibe ich überall den gleichen Inhalt "Testtext" in das array.
Wenn ich es aufführe kommt folgendes im log:
2:47:59.454 info javascript.3 (14748) Stop script script.js.8-Testing.Skript_1 12:47:59.462 info javascript.3 (14748) Start javascript script.js.8-Testing.Skript_1 12:47:59.469 info javascript.3 (14748) script.js.8-Testing.Skript_1: a=0 - b=0 - Inhalt=Testtext 12:47:59.469 info javascript.3 (14748) script.js.8-Testing.Skript_1: festgelegt:Testtext 12:47:59.469 info javascript.3 (14748) script.js.8-Testing.Skript_1: a=0 - b=1 - Inhalt=Testtext 12:47:59.469 info javascript.3 (14748) script.js.8-Testing.Skript_1: festgelegt:undefined 12:47:59.469 info javascript.3 (14748) script.js.8-Testing.Skript_1: a=0 - b=2 - Inhalt=Testtext 12:47:59.469 info javascript.3 (14748) script.js.8-Testing.Skript_1: festgelegt:undefined 12:47:59.469 info javascript.3 (14748) script.js.8-Testing.Skript_1: a=1 - b=0 - Inhalt=Testtext 12:47:59.470 info javascript.3 (14748) script.js.8-Testing.Skript_1: registered 0 subscriptions and 1 schedule 12:47:59.470 error javascript.3 (14748) script.js.8-Testing.Skript_1: TypeError: Cannot read property '0' of undefined 12:47:59.470 error javascript.3 (14748) at script.js.8-Testing.Skript_1:8:38 12:47:59.470 error javascript.3 (14748) at script.js.8-Testing.Skript_1:13:3Solange die Variablen a und b als Index bei der Ausgabe benutzt (Script Zeile 7) wird funktioniert auch alles wie erwartet.
Meine Erwartung ist eigentlich, dass ich bei der Ausgabe des festgelegten Zeigers [0][0] auf das Array (Script Zeile 8 ) jedes mal "Testtext" ausgegeben wird. Das funktioniert aber nur, wenn in den Schleifen a und b auch tatsächlich 0 sind. Sobald a oder b nicht mehr 0 sind ist der Inhalt des festgelegten Wertes "undefined" (Log Zeilen 6 und 8).Wo habe ich denn hier den Denkfehler?
Danke und Grüße,
Balu -
Hallo Zusammen,
ich habe eine Frage zum Auslesen von arrays.
Hier mein Testscript:
var test; for ( var a = 0 ; a < 3 ; a++ ) { test=[]; for (var b = 0 ; b < 3 ; b++ ) { test[a]=[]; test[a][b] = "Testtext"; log("a="+a+" - b="+b+" - Inhalt="+test[a][b]); log("festgelegt:"+test[0][0]); } }Ich versuche ein zweidimensionales Array auszulesen. Der Einfachheit halber schreibe ich überall den gleichen Inhalt "Testtext" in das array.
Wenn ich es aufführe kommt folgendes im log:
2:47:59.454 info javascript.3 (14748) Stop script script.js.8-Testing.Skript_1 12:47:59.462 info javascript.3 (14748) Start javascript script.js.8-Testing.Skript_1 12:47:59.469 info javascript.3 (14748) script.js.8-Testing.Skript_1: a=0 - b=0 - Inhalt=Testtext 12:47:59.469 info javascript.3 (14748) script.js.8-Testing.Skript_1: festgelegt:Testtext 12:47:59.469 info javascript.3 (14748) script.js.8-Testing.Skript_1: a=0 - b=1 - Inhalt=Testtext 12:47:59.469 info javascript.3 (14748) script.js.8-Testing.Skript_1: festgelegt:undefined 12:47:59.469 info javascript.3 (14748) script.js.8-Testing.Skript_1: a=0 - b=2 - Inhalt=Testtext 12:47:59.469 info javascript.3 (14748) script.js.8-Testing.Skript_1: festgelegt:undefined 12:47:59.469 info javascript.3 (14748) script.js.8-Testing.Skript_1: a=1 - b=0 - Inhalt=Testtext 12:47:59.470 info javascript.3 (14748) script.js.8-Testing.Skript_1: registered 0 subscriptions and 1 schedule 12:47:59.470 error javascript.3 (14748) script.js.8-Testing.Skript_1: TypeError: Cannot read property '0' of undefined 12:47:59.470 error javascript.3 (14748) at script.js.8-Testing.Skript_1:8:38 12:47:59.470 error javascript.3 (14748) at script.js.8-Testing.Skript_1:13:3Solange die Variablen a und b als Index bei der Ausgabe benutzt (Script Zeile 7) wird funktioniert auch alles wie erwartet.
Meine Erwartung ist eigentlich, dass ich bei der Ausgabe des festgelegten Zeigers [0][0] auf das Array (Script Zeile 8 ) jedes mal "Testtext" ausgegeben wird. Das funktioniert aber nur, wenn in den Schleifen a und b auch tatsächlich 0 sind. Sobald a oder b nicht mehr 0 sind ist der Inhalt des festgelegten Wertes "undefined" (Log Zeilen 6 und 8).Wo habe ich denn hier den Denkfehler?
Danke und Grüße,
Balu@balu1973 Vielleicht habe ich auch einen Denkfehler, aber durch den "Reset" der Variablen test in Zeile 3 und 5 durch setzen auf [] ist der Inhalt doch wirklich undefined, oder?
-
Hallo Zusammen,
ich habe eine Frage zum Auslesen von arrays.
Hier mein Testscript:
var test; for ( var a = 0 ; a < 3 ; a++ ) { test=[]; for (var b = 0 ; b < 3 ; b++ ) { test[a]=[]; test[a][b] = "Testtext"; log("a="+a+" - b="+b+" - Inhalt="+test[a][b]); log("festgelegt:"+test[0][0]); } }Ich versuche ein zweidimensionales Array auszulesen. Der Einfachheit halber schreibe ich überall den gleichen Inhalt "Testtext" in das array.
Wenn ich es aufführe kommt folgendes im log:
2:47:59.454 info javascript.3 (14748) Stop script script.js.8-Testing.Skript_1 12:47:59.462 info javascript.3 (14748) Start javascript script.js.8-Testing.Skript_1 12:47:59.469 info javascript.3 (14748) script.js.8-Testing.Skript_1: a=0 - b=0 - Inhalt=Testtext 12:47:59.469 info javascript.3 (14748) script.js.8-Testing.Skript_1: festgelegt:Testtext 12:47:59.469 info javascript.3 (14748) script.js.8-Testing.Skript_1: a=0 - b=1 - Inhalt=Testtext 12:47:59.469 info javascript.3 (14748) script.js.8-Testing.Skript_1: festgelegt:undefined 12:47:59.469 info javascript.3 (14748) script.js.8-Testing.Skript_1: a=0 - b=2 - Inhalt=Testtext 12:47:59.469 info javascript.3 (14748) script.js.8-Testing.Skript_1: festgelegt:undefined 12:47:59.469 info javascript.3 (14748) script.js.8-Testing.Skript_1: a=1 - b=0 - Inhalt=Testtext 12:47:59.470 info javascript.3 (14748) script.js.8-Testing.Skript_1: registered 0 subscriptions and 1 schedule 12:47:59.470 error javascript.3 (14748) script.js.8-Testing.Skript_1: TypeError: Cannot read property '0' of undefined 12:47:59.470 error javascript.3 (14748) at script.js.8-Testing.Skript_1:8:38 12:47:59.470 error javascript.3 (14748) at script.js.8-Testing.Skript_1:13:3Solange die Variablen a und b als Index bei der Ausgabe benutzt (Script Zeile 7) wird funktioniert auch alles wie erwartet.
Meine Erwartung ist eigentlich, dass ich bei der Ausgabe des festgelegten Zeigers [0][0] auf das Array (Script Zeile 8 ) jedes mal "Testtext" ausgegeben wird. Das funktioniert aber nur, wenn in den Schleifen a und b auch tatsächlich 0 sind. Sobald a oder b nicht mehr 0 sind ist der Inhalt des festgelegten Wertes "undefined" (Log Zeilen 6 und 8).Wo habe ich denn hier den Denkfehler?
Danke und Grüße,
Balu@balu1973 In Zeile 5 überschreibst du die zweite Dimension des Arrays bei jedem Durchlauf mit einem leeren Array.
Ebenso überschreibst du in Zeile 3 für jeden Durchlauf das äußere Array mit einem leeren. So wäre es richtig:var test = []; // HIER! for ( var a = 0 ; a < 3 ; a++ ) { test[a]=[]; // HIER! for (var b = 0 ; b < 3 ; b++ ) { test[a][b] = "Testtext"; log("a="+a+" - b="+b+" - Inhalt="+test[a][b]); log("festgelegt:"+test[0][0]); } } -
@balu1973 In Zeile 5 überschreibst du die zweite Dimension des Arrays bei jedem Durchlauf mit einem leeren Array.
Ebenso überschreibst du in Zeile 3 für jeden Durchlauf das äußere Array mit einem leeren. So wäre es richtig:var test = []; // HIER! for ( var a = 0 ; a < 3 ; a++ ) { test[a]=[]; // HIER! for (var b = 0 ; b < 3 ; b++ ) { test[a][b] = "Testtext"; log("a="+a+" - b="+b+" - Inhalt="+test[a][b]); log("festgelegt:"+test[0][0]); } }
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden