rucksackpeggy: Zuweisung eines Defaultwertes zu assoziativem Array möglich?

Hallo mal wieder,

heute habe ich als Sorgenkind einen assoziativen Array, dessen Inhalte anfangs alle den Wert true haben sollten. Ich hatte folgendes versucht, aber da ja keine Werte zugewiesen wurden, können wohl auch keine referenziert werden...
Anyway, gibt es eine Möglichkeit, einem solchen Array einen Deafultwert zuzuweisen, ohne jedes Element einzeln in die Finger nehmen zu müssen???

____________Fehlversuch__________________

var an = new Array('repository','map','pps','iss','edbfm','impuls','am','edi','bap');
for (i=0;i<an.length;i++) {
 for (var Eigenschaft in an[i]) {
  Eigenschaft = true;
 }
}

____________Ende _______________________

Vielen Dank schon mal!

Gruß rucksackpeggy

  1. Hi,

    for (i=0;i<an.length;i++) {
    for (var Eigenschaft in an[i]) {
      Eigenschaft = true;
    }
    }

    so würd ich ein Array das mit true fülln (es sei denn ich habs falsch verstanden):

    var Eigenschaft = new Array();
    for (i=0;i<an.length;i++)
    {
       Eigenschaft[i] = true;
    }

    Gruss
    Axel

    1. Hi Axel,

      so funktionuckelt es leider erst recht nicht (war auch mein erster Gedanke), da es sich um einen assoziativen Array handelt. Den Unterschied sieht man in folgendem Beispiel:

      for (i=0;i<an.length;i++) {
         an[i]=true;
      }
      alert(an[5]);  --> liefert true
      alert(an['repository']);  --> liefert undefined

      Trotzdem Danke!

      Hi,

      for (i=0;i<an.length;i++) {
      for (var Eigenschaft in an[i]) {
        Eigenschaft = true;
      }
      }

      so würd ich ein Array das mit true fülln (es sei denn ich habs falsch verstanden):

      var Eigenschaft = new Array();
      for (i=0;i<an.length;i++)
      {
         Eigenschaft[i] = true;
      }

      Gruss
      Axel

  2. Hallo mal wieder,

    heute habe ich als Sorgenkind einen assoziativen Array, dessen Inhalte anfangs alle den Wert true haben sollten. Ich hatte folgendes versucht, aber da ja keine Werte zugewiesen wurden, können wohl auch keine referenziert werden...
    Anyway, gibt es eine Möglichkeit, einem solchen Array einen Deafultwert zuzuweisen, ohne jedes Element einzeln in die Finger nehmen zu müssen???

    ____________Fehlversuch__________________

    var an = new Array('repository','map','pps','iss','edbfm','impuls','am','edi','bap');
    for (i=0;i<an.length;i++) {
    for (var Eigenschaft in an[i]) {
      Eigenschaft = true;
    }
    }

    ____________Ende _______________________

    Vielen Dank schon mal!

    Gruß rucksackpeggy

    mit
    <script language=javascript>
    var an = new Array('repository','map','pps','iss','edbfm','impuls','am','edi','bap');
    for(i=0;i<an.length;i++)
    {
    an[an[i]] = "true";
    }
    </script>
    sollte es gehen

    1. Hello again,

      Danke super! Das hat geklappt!!!

      mit
      <script language=javascript>
      var an = new Array('repository','map','pps','iss','edbfm','impuls','am','edi','bap');
      for(i=0;i<an.length;i++)
      {
      an[an[i]] = "true";
      }
      </script>
      sollte es gehen

      1. nobody knows all, me2 ;)
        --> but sometimes there is light at the end uf the tunnel

        1. nobody knows all, me2 ;)

          ...trotzdem würde mich interessieren, woher Du diesen (ja doch simplen) Trick kanntest. Irgend eine JavaScript-Seite im Netz, die ich noch nicht kenne??

          --> but sometimes there is light at the end uf the tunnel

          ...oder ein anderer Forumer knipst es an, wenn man mitten drin steckt...

          1. nobody knows all, me2 ;)

            ...trotzdem würde mich interessieren, woher Du diesen (ja doch simplen) Trick kanntest. Irgend eine JavaScript-Seite im Netz, die ich noch nicht kenne??

            keine seite, eigene logik (auch wenn die nich immer so gut funktioniert ;)

            --> but sometimes there is light at the end uf the tunnel

            ...oder ein anderer Forumer knipst es an, wenn man mitten drin steckt...

            *handreich* ;)

        2. Hi!

          nobody knows all, me2 ;)
          --> but sometimes there is light at the end uf the tunnel

          Rowe's Rule: The odds are five to six that the light at the end of the tunnel is the headlight of an oncoming train.
              -- Paul Dickson

          Bei Deinem Code stecken uebrigens noch die urspruenglichen Elemente im Array, denn die neuen "assoziierten" hast Du ja nur dazugefuegt. Mit

          var s = "";
            for (i in an)
                s += i + ": " + an[i] + "\n";
            alert(s)

          sieht man das.

          So long

          --
          Black holes are where god divided by zero.