PDA

Volledige versie bekijken : in array


StevenW
%Europe/Berlin %917 %2006, 23:00
Ik kan nergens een functie vinden die controleerd of een string in een array voor komt. Bestaat er al zo'n functie? of heeft iemand van jullie tips voor een makkelijke methode?

eagle
%Europe/Berlin %924 %2006, 23:10
Je bedoelt met "een sting in een array", dat de key van de array niet numeriek is?
Indien je dat bedoelt kan je daar snel zelf een functietje voor schrijven.

function stringAlsKey(someArray:Array){
for(var i in someArray){
//kijk hier na of de type van i een string is, zo ja, retourneert de functie true
}
}

StevenW
%Europe/Berlin %929 %2006, 23:18
Nee volgens mij niet. Ik heb bijvoorbeeld dit: var a = "naam".

Nu wil ik snel controleren of "naam", in een array voorkomt. Hoe doe ik dat?

eagle
%Europe/Berlin %930 %2006, 23:20
Als volgt:

function searchString(a:Array,b:String):Boolean
{
for(var i in a){
if(a[i] == b)
{
return true;
}
}
return false;
}

StevenW
%Europe/Berlin %988 %2006, 00:43
Dank u, dat werkt :)

Ruben
%Europe/Berlin %036 %2006, 01:53
Je bedoelt met "een sting in een array", dat de key van de array niet numeriek is?
Indien je dat bedoelt kan je daar snel zelf een functietje voor schrijven.
Voor zover ik weet zijn keys van een array in actionscript altijd nummeriek ;)

eagle
%Europe/Berlin %353 %2006, 09:29
Voor zover ik weet zijn keys van een array in actionscript altijd nummeriek ;)
Helaas, daar vergis je je grondig in. Probeer dit maar eens:

var a:Array = new Array();
a["test1"] = "Ik heb gelijk Ruben";
a["test2"] = "Tadaaaaa";
trace(a["test1"]);
for(var i in a){
trace("key "+i);
trace("value "+a[i]);
}

Ruben
%Europe/Berlin %465 %2006, 12:10
Verdraait, je hebt gelijk. :O
Maargoed de laatste en eerste keer dat ik t probeerde was met Flash 5 (=as1)....

Btw, uit de handleiding :P
The Array class should not be used to create associative arrays, which are different data structures that contain named elements instead of numbered elements. You should use the Object class to create associative arrays (also called hashes).

eagle
%Europe/Berlin %467 %2006, 12:12
Je kan niet loopen over objects.

Ruben
%Europe/Berlin %589 %2006, 15:08
var obj = {blaat:'test',foo:'bar'};
for (var i in obj) {
trace(i+': '+obj[i]);
}
;)

eagle
%Europe/Berlin %596 %2006, 15:18
Hehe, da wist ik niet :). Ik ga daar nog veel van gebruik maken denk ik.