[js] opera array setten lukt niet? scope?

Pagina: 1
Acties:

  • killercow
  • Registratie: Maart 2000
  • Laatst online: 20-02 08:34
Ik heb het volgende stukje code:
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
var list=new Array();
function doeiets(inputstring){
 var temp=new Array();
 temp=inputstring.split("\n");
 temp=array_unique(temp);
 for(var i=0;i<temp.length;i++){
  if(temp[i].length>0){
   // list[temp[i]]=new Array();
   list[temp[i]]='test';
   alert(list[temp[i]]);
   alert(list.length);
  }
}


Ik split dus een lijstje van woorden op een enter, en gooi deze in een array.
Als ik nu de array items vul, gaat alles goed, en kan ik de waarde uitlezen.

Als ik daarna echter de length van de array alert, krijg ik in opera altijd 0.
In firefox heb ik nergens last van.
De array is verderop in een andere functie nodig, en is daarom dus in de global scope gedefineerd.

Heeft iemand enig idee?

En weer opgelost, niet elke browser kan splitten op \n natuurlijk. Er zitten soms ook \r chars voor welke je niet als array key kunt gebruiken blijkbaar.

edit:

Opgelost, uren zoeken en dan vlak nadat je het post zo de oplossing vinden :P

[ Voor 19% gewijzigd door killercow op 25-04-2006 15:58 ]

openkat.nl al gezien?


  • André
  • Registratie: Maart 2002
  • Laatst online: 20-02 09:23

André

Analytics dude

Arrays met text-indexes geven bij mij in FF en IE ook altijd lengte 0, lijkt me normaal gedrag.

[ Voor 3% gewijzigd door André op 25-04-2006 16:00 ]


  • killercow
  • Registratie: Maart 2000
  • Laatst online: 20-02 08:34
Ja inderdaad, stom van me, ben PHP gewend waarbij de functie count wel het aantal elementen terug geeft.

openkat.nl al gezien?