Avatar billede zuiq Nybegynder
30. december 2003 - 17:51 Der er 19 kommentarer og
1 løsning

Tælle array, og vise hva for nogle 'felter' der indeholder data.

Hej har lige brug for et hurtigt svar :)

Okey, lad os sige at jeg har et array der hedder "jens". Arrayet indeholder information/data, irrelevant hvad, i f.eks. 'felt' 1 og 3.

Skal bruge ét script der tæller hvor mange 'felter' der indeholder information/data. Og et andet script der fortæller mig HVILKE 'felter' der indeholder information/data, og gemmer dem i et array.


På forhånd tak,
Mads
Avatar billede roenving Novice
30. december 2003 - 17:58 #1
Hvad med bare eet script, som gør begge dele:

var usedFields = new Array();
var fieldData = new Array();
for(i=0;jens.length>i;i++){
  if(jens[i].value!=""){
    usedFields[usedFields.length] = i;
    fieldData[fieldData.length] = jens[i];
  }
}
Avatar billede zuiq Nybegynder
30. december 2003 - 18:13 #2
Hmm den kommer med en fejl i den her linje:
  if(jens[i].value!=""){

Error: 'slc[..].value' is null or not an object

Og slc arrayet findes...
Avatar billede zuiq Nybegynder
30. december 2003 - 18:13 #3
Jeg har ændret jens til slc.
Avatar billede zuiq Nybegynder
30. december 2003 - 18:15 #4
Hvorfor er usedFields forresten et array? Den skal jo bare sige i en streng, hvor mange felter der er brugt ikke?
Avatar billede roenving Novice
30. december 2003 - 18:26 #5
Det kan du selv vælge, jeg troede, at du ville have begge i (synkrone) arrays ...

-- har du også ændret i denne linje:

for(i=0;jens.length>i;i++){
Avatar billede zuiq Nybegynder
30. december 2003 - 18:27 #6
Det eneste jeg har ændret er at ændre alle steder hvor der står jens til "slc", så ja.
Avatar billede roenving Novice
30. december 2003 - 18:30 #7
Sorry, jeg havde lige kigget i noget script, som handlede om objekter og ikke et almindeligt array:

  if(slc[i]!=""){
Avatar billede zuiq Nybegynder
30. december 2003 - 18:39 #8
Okey..
Hva for en af dem siger hvor mange der felter der er ialt? Og hvordan gør jeg så at det bare er et tal, der bliver gemt i en streng?

Og i fieldData, er der et "," for meget i starten af arrayet når man printer det ud i en alert.
Avatar billede zuiq Nybegynder
30. december 2003 - 20:28 #9
og hvis der kun er 1 'felt' i arrayen, så laver scriptet nogle mærkelige kommaer foran.
Avatar billede zuiq Nybegynder
30. december 2003 - 21:46 #10
-hvis det er felt 3, så kommer der 3 kommaer foran, og hvis det er felt 1 kommer der 1 foran., 2 kommer der 2 foran osv...
Avatar billede roenving Novice
31. december 2003 - 01:05 #11
-- tror det har noget med om typen af et udefineret 'felt' i arrayet har en værdi ...

-- kigger lige på det !-)
Avatar billede roenving Novice
31. december 2003 - 01:10 #12
<script language="javascript" type="text/javascript">
var slc = new Array();
slc[3] = "nummer 3";
slc[1] = "nummer 1";

var usedFields = "";
var fieldData = new Array();
for(i=0;slc.length>i;i++){
  if(typeof slc[i]=='string'&&slc[i]!=""){
    usedFields += i+" ";
    fieldData[fieldData.length] = slc[i];
  }
}

alert(usedFields+"\n"+fieldData);
</script>
Avatar billede zuiq Nybegynder
31. december 2003 - 01:26 #13
Tak :)!
Nu virker fieldData som den stol :) tak!

Men usedField virker ikke som den skal, når felt 3, 4, 16 og 32 indeholder data får jeg dette fra usedField: "3 4 16 32", istedet skulle den havde talt hvor mange der var, og derved havde blevet: "4"

Mange tak for alt det du har gjort allrede :),
Mads
Avatar billede zuiq Nybegynder
31. december 2003 - 01:26 #14
stol=skal
Avatar billede roenving Novice
31. december 2003 - 03:49 #15
usedFields ++;
Avatar billede roenving Novice
31. december 2003 - 03:50 #16
Altså

<script language="javascript" type="text/javascript">
var slc = new Array();
slc[3] = "nummer 3";
slc[1] = "nummer 1";

var usedFields = "";
var fieldData = new Array();
for(i=0;slc.length>i;i++){
  if(typeof slc[i]=='string'&&slc[i]!=""){
    usedFields++;
    fieldData[fieldData.length] = slc[i];
  }
}

alert(usedFields+"\n"+fieldData);
</script>
Avatar billede zuiq Nybegynder
31. december 2003 - 13:51 #17
Perfekt :) Mange tak, for alt hjælpen.
Lav et svar så er det ordnet.
Avatar billede roenving Novice
02. januar 2004 - 03:29 #18
Velbekomme '-)
Avatar billede roenving Novice
03. januar 2004 - 02:53 #19
-- og tak for points ;~}
Avatar billede zuiq Nybegynder
03. januar 2004 - 13:35 #20
No prob :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester