23.04. (2.deo) nastavljamo .... rad sa nizovima: metode filter() i indexOf()
Metoda filter()
Metodom filter() se kreira novi niz sa elemenitima niza koji zadovoljavaju određeni uslov koji je zadat. Uzima u obzir samo elemente niza čije su vrednosti definisane, a ne uzima u obzir obrisane ili elemente čija vrednost nije definisana. Elemeni niza koji ne prođu uslov filtera se preskaču i ne uzimaju se kao elementi novog niza.
Metoda filter() ne menja niz koji filrtira već kreira novi.
Detaljnija lekcija, sa primerima i mestom za vežbanje: https://edusoft.matf.bg.ac.rs/eskola_veba/#/course/js/js_filter
Nastavak zadatka sa prethodnog časa:
Deo 5
Kreirati niz parnih brojeva (brojevi koji su u onom početnom nizu, ali su i parni)
U web stranici postaviti još jedno dugme za prikaz elemenata novog niza, kao i paragraf u kojem će se ti elemeti prikazati.
html:
<button onclick="prikaz(paranNiz1)"> Prikaz parnog podniza</p>
js:
function paran(broj) {
return (broj%2) ? true : false;
}
var paranNiz1 = niz1.filter(paran);
Metoda indexOf()
Metoda indexOf() kao rezultat daje redni broj gde se element nalazi u nizu. Ako postoje dva ista elementa, indexOf() vraća prvi redni broj tog elementa, a ako se element ne nalazi u nizu vraća -1.
Nastavak zadatka:
Deo 6
Na stranicu dodati polje za unos teksta i dugme. Klikom na dugme treba da se proveri da li je uneseni tekst ujedno i element niza i na kojoj poziciji u nizu.
js:
function trazi()
{
let x = document.getElementById("tekst").value;
let pozicijaUnizu = niz1.indexOf(Number(x));
if(pozicijaUnizu === -1)
document.getElementById("p1").innerHTML = "NEMA TOG ELEMENTA U NIZU";
else
document.getElementById("p1").innerHTML = "Pronađen element na indeksu " + pozicijaUnizu;
}
html:
<input type="text" id="tekst">
<button onclick="trazi()"> Traži</p>