Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: JS: taulukosta etsiminen

Tumettaja [23.08.2008 21:54:14]

#

Tarkoituksena olisi saada tarkistettua löytyykö taulukosta haluttua lukua:

var numerot=new Array();
numerot[0] = 1;
numerot[1] = 2;
numerot[2] = 3;

Onko javascriptissä olemassa tähän tarkoitukseen valmista funktiota
vai pitääkö haku tehdä loopissa? Jos pitää, niin miten?

Antti Laaksonen [23.08.2008 22:08:17]

#

Tarvittava silmukka ei ole monimutkainen:

for (i in numerot) {
    if (numerot[i] == 2) alert("Löytyi");
}

tsuriga [23.08.2008 22:20:24]

#

indexOf. Kotitehtäväksi jääköön toiminnan selvittäminen eri selaimien eri versioilla.

Tumettaja [24.08.2008 13:29:13]

#

Muuten toimii hyvin tuo for-loopissa etsiminen, mutta jos taulukossa on jokin luku jossa on etsittävä luku, ilmoittaa skripti että löytyi. Esimerkiksi tässä tapauksessa ongelma ilmenee:

var numerot=new Array();
numerot[0]=00;
numerot[1]=030;

for (i=0;i<=1;i++)
{
  if (numerot[i] == 0) {
    alert("Löytyi!");
  }
}

jlaire [24.08.2008 14:20:29]

#

JavaScriptissä 0 ja 00 ja 000000 ovat kaikki täsmälleen sama asia, eli luku 0. Käytä merkkijonoja, jos haluat, että ylimääräisillä nollilla on merkitystä. Eli "0", "00" jne. Lisäksi 030 = 24, et välttämättä tarkoittanut tuota.

var luvut = ["00", "030"];

var i;
for (i = 0; i < luvut.length; i++) {
    if (luvut[i] === "0") {
        alert("Löytyi!") } }

Tuo koodipätkä ei väitä löytävänsä.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta