Array Funzioni che operano su array
Funzioni Ricordiamo che una funzione è una parte di codice a sé stante che esegue un compito e/o ritorna un risultato. La sintassi di una funzione in JavaScript function nomefunzione(x,y,...) {... istruzioni da eseguire quando la funzione viene richiamata... return espressione risultato } Sia i parametri in ingresso x, y che lespressione risultato possono essere degli array.
Assegnazione di valore ad un array Abbiamo visto che listruzione a[5] = 7; assegna allelemento di indice 5 dellarray il valore 7. E possibile però anche listruzione var a=new Array(8,2,6,-5,0,0,6,8,-4,11); b=a; che assegna, in un sol colpo, alla variabile b gli elementi dellarray a.
Esempi di funzioni con array – 1 Riempimento di un array con numeri interi a caso. I numeri sono 10 e vanno da 0 a 9. Math.random() genera un numero casuale tra 0 e 1 Lo moltiplichiamo per 10 per averlo tra 0 e 10 Math.floor() tronca la parte decimale function riempi_a_caso() { var num = new Array(); for (k=0;k<10; k++) num[k] = Math.floor(Math.random()*10); return num; } a = riempi_a_caso(); alert(a);
Modifiche allesempio 1 Fare le opportune modifiche alla precedente funzione in modo che si possa richiamare la funzione stessa assegnando come parametri (e quindi potendo variare nella chiamata): Il numero degli elementi dellarray da riempire Il numero massimo nel quale estrarre gli interi casuali Suggerimento: se la funzione viene chiamata con function riempi_a_caso(12, 15) Allora deve creare un array di 12 elementi presi casualmente tra 0 e 15. Usare le opportune variabili.
Esempio 2 Cercare il massimo di un array. La funzione riceve come argomento larray di cui deve cercare il massimo. Per cercare il massimo, memorizza come massimo il primo elemento dellarray e ne sostituisce il valore se un successivo elemento dellarray supera tale valore. function trova_max(arr) { var max = arr[0]; for (k=1;k<arr.length; k++) if (arr[k] > max) max = arr[k] ; return max; } a = new Array(5, 3, -2, 7, 4, 12, 0, 6, -8, 3); alert(trova_max(a));
Variazioni dellesempio 2 Cercare il minimo dellarray Contare quanti elementi dellarray sono positivi Sommare gli elementi dellarray Cercare se un certo elemento è presente nellarray In questultimo caso, la funzione deve ricevere come parametri larray ed il valore da trovare function cerca_se_in_array(x,arr) dove x è lelemento da cercare e arr è larray. Questa funzione può essere utilizzata per riempire casualmente un array con elementi a caso diversi tra loro. Una volta estratto il primo elemento, il secondo estratto lo si mette nellarray solo se non è già presente nellarray. E così via.