In questo codice, scritto un array1() di numeri casuali tra 1 e 100, si scrive il suo primo elemento (o anche un altro qualunque), vengono trovati tutti gli altri elementi dell'array uguali ad esso, vengono azzerati e mostrati azzerati in una casella di testo, infine si riscrive l'array1() con gli elementi trovati azzerati.
Il codice funziona con la scelta del primo elemento, ma non con la scelta dei successivi elementi che vengono mostrati azzerati nella casella di testo, ma quando si riscrive l'array1() questi elementi figurano non azzerati, pur essendo stati azzerati e figurando azzerati.
Non mi spiego il motivo. Grazie per l'aiuto.
lanvoel
codice HTML:
<B>azzerare elementi a scelta di un array1() di numeri casuali</B><br><br>
<input type="button" id=="bottone1" value="scrivi l'array1()" onclick="scrivi()">
<br>array1()
<input type="text" size=550 id="lista1"><br>scrivi un elemento dell'array1()
<input type="text" id="numero"><br>
<input type="button" id="bottone2" value="riscrivi l'array1() con gli elementi scelti azzerati" onclick="riscrivi()">
<br>elementi dell'array1() trovati<input type="text" size=200 id="prova">
<br>nuovo array1()<input type="text" size=550 id="lista2"><br>
codice:
var array1 = new Array();
function scrivi() {
for (var i = 1; i <= 100; i++) {
array1[i] = Math.floor(Math.random() * 100) + 1
lista1.value = lista1.value + i + ")" + array1[i] + " "
}
}
function riscrivi() {
var numero1 = document.getElementById("numero").value;
for (var j = 1; j <= 100; j++) {
if (array1[j] == numero1) {
array1[j] = 0;
document.getElementById("prova").value = document.getElementById("prova").value + "array1(" + j + ") ora vale " + array1[j] + ", ";
}
lista2.value = lista2.value + j + ")" + array1[j] + " ";
}
}
</script>