maik: array durchsuchen

hallo,

ich möchte gern ein array nach einem key durchsuchen.

mein array:

sparkassen[0] = new Object();
sparkassen[0]["id"] = "09001";
sparkassen[0]["name"] = "rot";

sparkassen[1] = new Object();
sparkassen[1]["id"] = "02313";
sparkassen[1]["name"] = "gruen";

sparkassen[2] = new Object();
sparkassen[2]["id"] = "09003";
sparkassen[2]["name"] = "blau";

ich durchlaufe es in einer funktion mit:
function MM_showHideLayers(Layer1,id,show,sparkassen)
{
for (var i = 0; i < sparkassen.length; i++)
 {
        //durchsuchen
 if(sparkassen[i] == id)
        {document.write("Treffer!!!!");}
        }
}

bin mir nicht sicher ob ich das array in die funktion so reinbekomme.die suche an sich sollte ja so funzen. leider spuckt er mir nur sowas aus:
"sparkassen 1    0: s "

jemand einen ansatz?

danke + gruss!

maik

  1. hi,

    ich durchlaufe es in einer funktion mit:
    function MM_showHideLayers(Layer1,id,show,sparkassen)

    Was übergibst du als ie an diese Funktion?

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. hi,

      Was übergibst du als ie an diese Funktion?

      Ich meinte als id.

      gruß,
      wahsaga

      --
      /voodoo.css:
      #GeorgeWBush { position:absolute; bottom:-6ft; }
      1. hi,

        Was übergibst du als ie an diese Funktion?

        Ich meinte als id.

        gruß,
        wahsaga

        id ist eine zahl (z.b. 5426)

        1. hi,

          id ist eine zahl (z.b. 5426)

          Warum versuchst du dann, eine Zahl mit sparkassen[i] zu vergleichen - letzteres hast du doch explizit mit new Object() angelegt?

          gruß,
          wahsaga

          --
          /voodoo.css:
          #GeorgeWBush { position:absolute; bottom:-6ft; }
          1. hi,

            id ist eine zahl (z.b. 5426)

            Warum versuchst du dann, eine Zahl mit sparkassen[i] zu vergleichen - letzteres hast du doch explizit mit new Object() angelegt?

            gruß,
            wahsaga

            stimmt... muss ja mit dem key vergleichen. wäre also:

            if (sparkassen[i]["id"] = id)

  2. mein array:

    sparkassen[0] = new Object();
    sparkassen[0]["id"] = "09001";
    sparkassen[0]["name"] = "rot";

    sparkassen[1] = new Object();
    sparkassen[1]["id"] = "02313";
    sparkassen[1]["name"] = "gruen";

    sparkassen[2] = new Object();
    sparkassen[2]["id"] = "09003";
    sparkassen[2]["name"] = "blau";

    Schöner und kürzer ist es, sowas so zu definieren:

    var sparkassen = [
    { id: '09001', name: 'rot' },
    { id: '02313', name: 'gruen' },
    { id: '09003', name: 'blau' }
    ];

    ich durchlaufe es in einer funktion mit:
    function MM_showHideLayers(Layer1,id,show,sparkassen)
    {
    for (var i = 0; i < sparkassen.length; i++)
    {
            //durchsuchen
    if(sparkassen[i] == id)

    Hier musst du natürlich auf die id des Objektes zugreifen.
    if(sparkassen[i].id == id)

    Struppi.

    --
    Javascript ist toll (Perl auch!)