Struppi: Array richtig auslesen

Beitrag lesen

Ist schon eine 1! Wieso?

Ist das eine 1?

Weil in dem Falle sortierst du nach dem 2. Buchstaben (fiel mir gerade erst auf) des Strings, da indizes imer bei null anfangen

Warum soll es nicht in jedem Browser funktionieren?

Dann kann sein das es nicht in jeden Browser funktioniert, ich weiss nicht genau welcher.

Weil manche Browser Strings nicht per indizes ansprechen können.

[Müll]

Was meinst da mit [Müll]?

Du fragtest: ist das Müll, das war aber nur ein Scherz, weil du so gefragt hast, ok? ;-)

function searchBezirk(bezirk)
{
for(var b in Bundesland)
for(var i= 0; Bundesland[b][i];i++)
     if(Bundesland[b][i] == bezirk) return b;
}

Schaut sehr kurz aus - würde viel Platz sparen*g*
Tut es aber leider nicht - weil ich scheinbar schon wieder zu dumm bin das "bezirk" objekt zu deffinieren.

sollte es auch tun.

Habs so:
function chkBezirk(bezirk)
{
var bezirk =document.Formular.Bezirk.selectedIndex;
for(var b in Bundesland)
for(var i= 0; Bundesland[b][i];i++)
     if(Bundesland[b][i] == bezirk) return b;
}

und beim Bezrikdrodown onchange="chkBezirk(bezirk)"

Grmmmmppff, bezirk ist ein String, den du als Paramteter der Funktion übergibst.

alert(searchBezirk('was weiss ich'))

such nach dem Bundesland in dem 'was weiss ich' liegt.

Wo gehört jetzt var bezirk= deffiniert?

gar nirgends, bezirk ist ein Paramter, der beim Aufruf der Funktion definiert wird.

Dir fehlen wirklich absolute Grundlagen der Programierung. eine funktion ist sowas:

function fun1()
{
    alert('eine Funktion:' + this);
}

Dieser kanst du Parameter übergeben:
function func1(p1, p2, p3)
{
    alert('eine Funktion mit Parameter:' + this

  • '\nparameter 1:' + p1
  • '\nparameter 2:' + p2
  • '\nparameter 3:' + p3);

}

Hab da glaub ich immer grundsätzliche Probleme?
1.
Was ist der unterschied zwischen:

bezirk=

und

var bezirk=

mit var begrenz du die Gültigkeit einer Variabeln auf einen bestimmten Bereich, in JS innerhalb einer Funktion in anderen Programmiersprachen innerhalb eines Blockes (die geschweiften Klammern sind eine Block).

Das ist wichitg, weil du damit gleiche Variabeln namen öfters benutzen kannst.

var bezirk = "global"; # das ist überall gültig => globale Variabel

function test1()
{
    alert(bezirk);
}
function test2()
{
    var bezirk = 'lokal';
    alert(bezirk);
}

test1();
test2();

Was ist der unterschied ob bezirk innerhalb einer funktion od vorher deffiniert wird:

Hab dazu auch schon im Selfhtml die Einleitung gelesen aber praktisch werd ich nicht schlau daraus..

Probieren hilft.

Struppi.