Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 15 von 40
  1. #1
    DerMicha ist offline Grünschnabel
    registriert
    12-08-2014
    Beiträge
    7

    Problem mit Array

    Hallo miteinander,

    also PHP ist kein Problem, aber Javascript schafft mich.

    Folgendes Problem.

    Code:
    var status = [0, 0, 0, 0, ......]
    Ist ein Array mit 17 Werten die 0 sind. Fragt nicht wozu, das brauch ich so.

    Nun wenn ich auf die Arrayelemente zugreifen will geschieht folgendes. Bei einem geraden Index (0, 2, 4 usw.) bekomme ich 0.
    Bei ungeraden (1, 3, 5 usw.) bekomme ich ein Komma.

    Dazu sagt Array.length 33, was stimmt wenn man die Kommas mitzählt. Aber das ist doch nicht sinn und zweck der Sache. Vielleicht kann mir ja jemand verraten, wo mein Fehler liegt.

  2. #2
    Avatar von mikdoe
    mikdoe ist offline Administrator
    registriert
    01-05-2010
    Beiträge
    7.583

    AW: Problem mit Array

    Zitat Zitat von DerMicha Beitrag anzeigen
    Ist ein Array mit 17 Werten die 0 sind. Fragt nicht wozu, das brauch ich so.
    Glaube ich nicht. Bestimmt gibt es eine elegantere Möglichkeit.
    Wie sieht denn der gesamte Code aus, der abwechselnd 0 und Komma liefert?
    Das deutsche Javascript Forum http://forum.jswelt.de http://forum.jswelt.de/images/logoJsWeltForumV4_32x22.png
    Sorry wenn ich manchmal ohne Hallo und nur klein schreibe! Dann bin ich nicht unfreundlich sondern mit nervigem kleinem Touch Tablet zugange

  3. #3
    DerMicha ist offline Grünschnabel
    registriert
    12-08-2014
    Beiträge
    7

    AW: Problem mit Array

    Dazu braucht es gar keinen weiteren Code, sondern nur eine Ausgabe.

    Code:
    var status = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
    document.write(status[1]);
    Ich benötige halt 17 Werte, die natürlich im weiteren Programmablauf dann geändert werden. Statt Nullen die zu Einsen werden, ginge auch false was zu true wird. Da bekomme ich dann aber die einzelnen Buchstaben f,a,l,s,e angezeigt und auch die Kommas.

    Hab auch schon
    Code:
    var status = new Array(0,0,0,....);
    probiert. Gleiches Ergebnis.

    Und wieso ist length 33 und mit dem Index 32 bekomme ich auch eine 0? Das Array sollte doch nur die Länge 17 haben. Ist ja kein String, wird aber irgendwie so behandelt.

  4. #4
    Avatar von mikdoe
    mikdoe ist offline Administrator
    registriert
    01-05-2010
    Beiträge
    7.583

    AW: Problem mit Array

    Keine Ahnung, was du da treibst, bei mir funktioniert das wie erwartet.
    Bitte mit F12 die Console öffnen und dann das HTML hier im Browser aufrufen:
    HTML-Code:
    <!DOCTYPE html>
    <html>
    <head>
    <title>für DerMicha</title>
    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
    </head>
    <body>
    
    <script>
    var status = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
    alert(status.length);
    for (var i=0; i<status.length; i++) {console.log(i+' = '+status[i]);}
    </script>
    
    </body>
    </html>
    Das deutsche Javascript Forum http://forum.jswelt.de http://forum.jswelt.de/images/logoJsWeltForumV4_32x22.png
    Sorry wenn ich manchmal ohne Hallo und nur klein schreibe! Dann bin ich nicht unfreundlich sondern mit nervigem kleinem Touch Tablet zugange

  5. #5
    Sempervivum ist offline Banned
    registriert
    11-12-2012
    Beiträge
    555

    AW: Problem mit Array

    "status" ist ein reserviertes Wort in Javascript:
    SELFHTML: JavaScript / Objektreferenz / window
    Benennt man die Variable um, funktioniert es wie erwartet.

  6. #6
    DerMicha ist offline Grünschnabel
    registriert
    12-08-2014
    Beiträge
    7

    AW: Problem mit Array

    Das mit dem status wusste ich nicht. Wenn ich das Array aber in eine Funktion lege funktioniert es auch. Anderer Namensraum und daher ist status wohl wieder verwendbar. Werde es aber nochmal mit einem anderen Namen außerhalb der Funktion testen, denn das Array sollte doch von mehreren Funktionen ansprechbar sein.

  7. #7
    j-l-n Guest

    AW: Problem mit Array

    Das Ganze geht viel einfacher: new Array(17)
    Create a JavaScript array containing 1...N - Stack Overflow

  8. #8
    Avatar von mikdoe
    mikdoe ist offline Administrator
    registriert
    01-05-2010
    Beiträge
    7.583

    AW: Problem mit Array

    Sempervivum, wieso funktioniert dann mein Code?
    Das deutsche Javascript Forum http://forum.jswelt.de http://forum.jswelt.de/images/logoJsWeltForumV4_32x22.png
    Sorry wenn ich manchmal ohne Hallo und nur klein schreibe! Dann bin ich nicht unfreundlich sondern mit nervigem kleinem Touch Tablet zugange

  9. #9
    LA1984 ist offline Grünschnabel
    registriert
    28-07-2012
    Beiträge
    4

    AW: Problem mit Array

    Hey DerMicha,

    also ich hab da ein ähnliches problem gehabt kürzlich mit meinem script.

    ich hab ein array gehabt mit mehreren inhalten aber jedesmal mir nur 0 ausgegeben....

    stadt = array(berlin,hamburg,leipzig);

    normal müsste er mir folgendes ausgeben:

    stadt[1] // berlin
    stadt[2] // hamburg
    stadt[3] // leipzig

    und bei dem befehl: nr = stadt.length; mir ausgeben wieviele städte in diesem array sind. hat aber auch nur 0 angezeigt.

    ich hab dann

    stadt = stadt.split(',');

    eingefügt und dann kam ich zu meinem ergebnis...

    stadt[1] // berlin
    stadt[2] // hamburg
    stadt[3] // leipzig


    ... oder via for() dann anzeigen lassen.

    mfg
    -LA-

  10. #10
    tsseh ist offline Foren-Gott
    registriert
    19-05-2008
    Beiträge
    5.630

    AW: Problem mit Array

    Zitat Zitat von LA1984 Beitrag anzeigen
    stadt = array(berlin,hamburg,leipzig);
    das war dein code?
    Array, nicht array, schöner meiner meinung nach stadt = new Array(berlin,hamburg,leipzig);, du willst ja nicht casten, sondern ein neues objekt erzeugen, auch wenn inhaltlich das selbe rauskommt.
    die variablen berlin,hamburg und leipzig existieren bei dir?

  11. #11
    Avatar von mikdoe
    mikdoe ist offline Administrator
    registriert
    01-05-2010
    Beiträge
    7.583

    AW: Problem mit Array

    Ich verstehe nicht, welche Probleme ihr da habt. Aber bis jetzt hat von euch auch keiner ein vollständiges und lauffähiges HTML Dokument gezeigt, wo man den Fehler mit reproduzieren kann. Deshalb kann man zu den Gründen schlecht was sagen.
    Das deutsche Javascript Forum http://forum.jswelt.de http://forum.jswelt.de/images/logoJsWeltForumV4_32x22.png
    Sorry wenn ich manchmal ohne Hallo und nur klein schreibe! Dann bin ich nicht unfreundlich sondern mit nervigem kleinem Touch Tablet zugange

  12. #12
    Sempervivum ist offline Banned
    registriert
    11-12-2012
    Beiträge
    555

    AW: Problem mit Array

    Zitat Zitat von mikdoe
    Sempervivum, wieso funktioniert dann mein Code?
    Gute Frage, das kann ich mir nicht erklären. Um den Fehler zu untersuchen, habe ich genau deinen Code verwendet und damit trat genau das Fehlverhalten auf, das der TO beschrieb. Vielleicht, dass sich die JS-Interpreter verschiedener Browser unterschiedlich verhalten? Ich verwende FF.

  13. #13
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.627

    AW: Problem mit Array

    Zitat Zitat von Sempervivum Beitrag anzeigen
    "status" ist ein reserviertes Wort in Javascript:
    Ist nicht reserviert, sondern eine globale Variable, die nur einen String enthalten kann. Wieder ein Fall von: globale Variablen sind schlecht.


    Zitat Zitat von Julian Beitrag anzeigen
    Das Ganze geht viel einfacher: new Array(17)
    Create a JavaScript array containing 1...N - Stack Overflow
    Bitte nicht. Der Array-Konstruktor hat keine Vorteile, nur eine Inkonsistenz und damit Nachteil. Auch ist er im Stackoverflow-Code nicht nötig:
    Code:
    var foo = [];
    for (var i = 0; i < 17; i += 1){
    	foo[i] = i;
    }
    - kürzer und genauso schnell.

    Zitat Zitat von hesst Beitrag anzeigen
    schöner meiner meinung nach
    Also ich finde stadt = [berlin,hamburg,leipzig]; schöner, kürzer und vermeidet den inkonsistenten Array-Konstruktor.


    @LA1984: um das Problem mit deinem Code zu erklären müsste man das komplette Umfeld kennen.

    Zitat Zitat von mikdoe Beitrag anzeigen
    Aber bis jetzt hat von euch auch keiner ein vollständiges und lauffähiges HTML Dokument gezeigt, wo man den Fehler mit reproduzieren kann.
    Lass deinen Code mal im FF laufen. Der IE verhält sich da anders - nicht W3C-konform, wie immer. window.status ist einfach der Text, der in der Statuszeile steht und das kann nur ein String sein.

  14. #14
    j-l-n Guest

    AW: Problem mit Array

    Zitat Zitat von kkapsner Beitrag anzeigen
    Bitte nicht. Der Array-Konstruktor hat keine Vorteile, nur eine Inkonsistenz und damit Nachteil. Auch ist er im Stackoverflow-Code nicht nötig:
    Code:
    var foo = [];
    for (var i = 0; i < 17; i += 1){
    	foo[i] = i;
    }
    - kürzer und genauso schnell.
    Ja, ich weise sonst selbst darauf hin, aber hier wollte ich eine Lösung zeigen, die so kurz wie möglich ist...

  15. #15
    Avatar von mikdoe
    mikdoe ist offline Administrator
    registriert
    01-05-2010
    Beiträge
    7.583

    AW: Problem mit Array

    OK, habs gesehen. Ist ja geil
    Das deutsche Javascript Forum http://forum.jswelt.de http://forum.jswelt.de/images/logoJsWeltForumV4_32x22.png
    Sorry wenn ich manchmal ohne Hallo und nur klein schreibe! Dann bin ich nicht unfreundlich sondern mit nervigem kleinem Touch Tablet zugange

Seite 1 von 3 123 LetzteLetzte

Ähnliche Themen

  1. Antworten: 5
    Letzter Beitrag: 09-05-2012, 13:26
  2. php-Array nach Javascript-Array Problem
    Von dtrixer im Forum JavaScript
    Antworten: 4
    Letzter Beitrag: 16-03-2010, 17:18
  3. array-problem
    Von stefansvw im Forum JavaScript
    Antworten: 3
    Letzter Beitrag: 01-03-2007, 13:31
  4. Problem mit Array
    Von Batou im Forum JavaScript
    Antworten: 2
    Letzter Beitrag: 20-04-2005, 09:21
  5. Problem mit Array
    Von DarealZnarkde im Forum JavaScript
    Antworten: 3
    Letzter Beitrag: 26-03-2003, 15:52

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •