E-gradiva
>
Računalništvo
>
Programiranje
>
Načrtovanje in razvoj spletnih aplikacij
>
Javascript
>
Primeri
> Primer 24
Prijava
Operacije s polji
Izvorna koda HTML:
Rezultat izvedbe kode HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns = "http://www.w3.org/1999/xhtml"> <head> <title>Operacije s polji</title> <script type = "text/javascript"> // funkcija za izpis elementov polja z uporabo lastnosti lenght function izpisiPolje( glava, polje ) { document.writeln( "<h2>" + glava + "</h2>" ); document.writeln( "<table border = \"1\" width =" + "\"100%\">" ); document.writeln( "<thead><th width = \"100\"" + "align = \"left\">Indeks</th>" + "<th align = \"left\">Vrednost</th></thead><tbody>" ); for ( var i = 0; i < polje.length; i++ ) document.writeln( "<tr><td>" + i + "</td><td>" + polje[ i ] + "</td></tr>" ); document.writeln( "</tbody></table>" ); } // konec izpisiPolje // funkcija za izpis elementov polja s pomočjo operatorja in function izpisiPolje_z_in( glava, polje ) { document.writeln( "<h2>" + glava + "</h2>" ); document.writeln( "<table border = \"1\" width =" + "\"100%\">" ); document.writeln( "<thead><th width = \"100\"" + "align = \"left\">Indeks</th>" + "<th align = \"left\">Vrednost</th></thead><tbody>" ); for ( var i in polje ) document.writeln( "<tr><td>" + i + "</td><td>" + polje[ i ] + "</td></tr>" ); document.writeln( "</tbody></table>" ); } // konec izpisiPolje_z_in // funkcija s primeri inicializacije polja function inicializirajPolje() { var polje1 = new Array( 5 ); // alokacija 5 elementov polja // prireditev vrednosti polju polje1 for ( var i = 0; i < polje1.length; i ++) polje1[ i ] = i; izpisiPolje( "Polje 1 vsebuje:", polje1 ); var polje2 = new Array(); // alokacija praznega polja - dolžina še ni definirana // prireditev vrednosti polja2 - dimenzija se določi z največjim indeksom for ( var i = 0; i < 4; i ++) polje2[ i ] = i; polje2[7]=3; izpisiPolje("Polje 2 vsebuje:", polje2 ); izpisiPolje_z_in("Polje 2, izpisano s pomočjo operatorja in vsebuje:", polje2 ); var cela1 = [ 2, 4, 6, 8 ]; var cela2 = [ 2, , , 8 ]; var barve= new Array( "cyan", "magenta","yellow", "black" ); izpisiPolje("Polje cela1 vsebuje", cela1); izpisiPolje("Polje cela2 vsebuje", cela2 ); izpisiPolje("Polje barve vsebuje", barve ); } // konec inicializirajPolje // funkcija za vnos elementov polja s pomočjo metode window.prompt function vnesiPolje(polje) { var stevilo_elementov= window.prompt( "Vnesi število elementov", "0" ); var n=parseInt(stevilo_elementov); for (i=0; i<n; i++) { var stevilo= window.prompt( "Vnesi element", "0" ); polje[i]=parseInt(stevilo); } // konec for } // konec vnesiPolje // Naključno generiranje elementov polja function generiraj(polje) { for ( i = 0; i < 5; i++ ) polje[ i ] = Math.floor( 1 + Math.random() * 6 ); } // konec generiraj // funkcija za izračun vsote elementov polja s pomočjo lastnosti lenght function izracunajVsoto(polje) { var vsota=0; for (var i=0; i< polje.lenght; i++) vsota+=polje[i]; return vsota; } // konec izracunajVsoto //funkcija za izračun vsote elementov polja z operatorjem in function izracunajVsotozin(polje) { var vsota=0; for (var i in polje) vsota+=polje[i]; return vsota; } //konec izracunajVsotozin //funkcija za demonstracijo klica po referenci function klici_po_referenci(polje) {polje[1]=555; } //funkcija za demonstracijo klica po vrednosti function klici_po_vrednosti (a) {a=666; } //funkcija, ki išče element x v polju function poisci(polje,x) { for (var i in polje) if (polje[i]==x) return i; return -1; } // konec poisci //funkcija, ki primerja dve vrednosti in vrne njuno razliko function primerjaj(a,b) {return a-b} //demonstracija urejanja polja s pomočjo funkcije sort function uredi(polje) { izpisiPolje("Polje pred urejanjem vsebuje naslednje elemente", polje); polje.sort(primerjaj); // uredi elemente polja po velikosti glede na funkcijo primerjaj izpisiPolje("Urejeno polje vsebuje naslednje elemente:", polje ); } // konec funkcije uredi // funkcija za prikaz izvedbe zgornjih funkcij function prikaziOperacije() { inicializirajPolje(); // vnos polja var polje1 = new Array( 5 ); vnesiPolje(polje1); // demonstracija klica po referenci document.write("Demonstracija klica po referenci: <br />"); izpisiPolje("Izpis polja pred klicem po referenci",polje1); klici_po_referenci(polje1); izpisiPolje("Izpis polja po klicu po referenci",polje1); //demonstracija klica po vrednosti document.write("Demonstracija klica po vrednosti: <br />"); izpisiPolje("Izpis polja pred klicem po vrednosti",polje1); klici_po_vrednosti(polje1[2]); izpisiPolje("Izpis polja po klicu po vrednosti",polje1); //izračun vsote elementov polja polje1[10]=15; izpisiPolje("Izpis polja pred klicem funkcije za izračun vsote",polje1); document.write("Vsota elementov polja z uporabo lastnosti lenght je:" +izracunajVsoto(polje1) + "<br />"); document.write("Vsota elementov polja z uporabo operatorja in je:" +izracunajVsotozin(polje1) + "<br />"); // iskanje elementov v polju if (poisci(polje1,5)>-1) document.write("Element 5 se nahaja na " + poisci(polje1,5)+". mestu v polju. <br />"); else document.write("Elementa 5 ni v polju <br />"); if (poisci(polje1,7)>-1) document.write("Element 7 se nahaja na " + poisci(polje1,7)+". mestu v polju. <br />"); else document.write("Elementa 7 ni v polju <br />"); // naključna generacija elementov polja var polje2 = new Array(5); generiraj(polje2); izpisiPolje("Izpis elementov generiranega polja",polje2); //funkcija za demonstracijo urejanja elementov polja uredi (polje2); } // konec funkcije prikaziOperacije() </script> </head> <body onload = "prikaziOperacije()"></body> </html>
Primer 1
Primer 2
Primer 3
Primer 4
Primer 5
Primer 6
Primer 7
Primer 8
Primer 9
Primer 10
Primer 11
Primer 12
Primer 13
Primer 14
Primer 15
Primer 16
Primer 17
Primer 18
Primer 19
Primer 20
Primer 21
Primer 22
Primer 23
Primer 24
Primer 25
Primer 26
Primer 27
Primer 28
Primer 29
Primer 30
Primer 31
Primer 32
Primer 33
Primer 34
Primer 35
Primer 36
Primer 37
Primer 38
Primer 39
Primer 40
Primer 41
Primer 42
Primer 43
Primer 44
Primer 45
Primer 46
Primer 47
Primer 48
Primer 49
Primer 50
Primer 51
Primer 52
Primer 53
Primer 54
Primer 55
Primer 56
Primer 57
Primer 58
Primer 59
Primer 60
Primer 61
Primer 62
Primer 63
Primer 64
Primer 65
Primer 66
Primer 67
Primer 68
Primer 69
Primer 70
Primer 71
Primer 72