/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
JavaScript array hvor mange gentagelse?
Fra : pope


Dato : 28-11-05 11:06

Hej NG,

jeg har et javascript array der ser sådan her ud:

var mycars = new Array()
mycars[0] = "Saab"
mycars[1] = "Volvo"
mycars[2] = "BMW"
mycars[3] = "Volvo"
mycars[4] = "BMW"
mycars[5] = "Volvo"
mycars[6] = "BMW"
mycars[7] = "BMW"
mycars[8] = "BMW"
mycars[9] = "BMW"

det jeg så gerne vil have gjort med det her array er at den skal
gå ind og finde ud af hvor mange gang der står BMW, Saab og
Volvo... og give et resultat der ser sådan her ud:

BMW = 6
Saab = 1
Volvo = 3

nogen der har en idé om hvordan man gør det?

// Dennis

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Ukendt (28-11-2005)
Kommentar
Fra : Ukendt


Dato : 28-11-05 12:41

pope wrote:
> det jeg så gerne vil have gjort med det her array er at den skal
> gå ind og finde ud af hvor mange gang der står BMW, Saab og
> Volvo... og give et resultat der ser sådan her ud:
>
> BMW = 6
> Saab = 1
> Volvo = 3

En mulighed:
function findInstances(arr) {
var tempObj = new Object();
for (var i = 0; i < arr.length; i++) {
if (!tempObj[arr[i]]) {
tempObj[arr[i]] = 0;
}
tempObj[arr[i]]++;
}
return tempObj;

}

function printObject(obj) {
for (var i in obj) {
document.write(i + " = " + obj[i]+"<br>");
}
}
printObject(findInstances(mycars));

findInstances() finder ud af hvor mange gange en værdi forekommer i det
givne array og printObject() udskriver et objekt (kan skam også bruges
på alle mulige andre objekter).

Da findInstances kun gennemløber array'et fra den ene ende til det andet
tager den ikke højde for i hvilken rækkefølge den skal placere de
forskellige egenskaber (properties) i objektet - derfor bliver outputtet
i sidste ende anderledes end du foreslog. Dette kan dog ordnes ved at
sortere array'et inden du kalder funktionen findInstances:

mycars.sort();
printObject(findInstances(mycars));

--
http://www.skovenborg.frac.dk

Søg
Reklame
Statistik
Spørgsmål : 177500
Tips : 31968
Nyheder : 719565
Indlæg : 6408514
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste