È un ciclo utilizzato per attraversare tutti gli elementi di un oggetto. In diversi linguaggi spesso è chiamato foreach.Non riesco a capire cos'è e soprattutto come si utilizza il ciclo for ... in . Me lo potete spiegare per favore?
Un esempio in C#:
C#:
string[] marray = new string[] { "pippo", "ciao", "123", "pizza" };
foreach (string s in marray)
{
Console.WriteLine(s);
}
Wikipedia ci dice che l'iterazione è utilizzata solitamente fino al verificarsi di particolari condizioni logiche specificate, quindi prendiamo d'esempio questo codice (sempre in C#):
C#:
string[] marray = new string[] { "pippo", "ciao", "123", "pizza" };
foreach (string s in marray)
{
if (s == "123") // *
{
Console.WriteLine(s);
break; // uscirà dal loop perchè la condizione è vera
}
}
Questo è il codice C# che ti ho mostrato prima:
C#:
string[] marray = new string[] { "pippo", "ciao", "123", "pizza" };
foreach (string s in marray)
{
Console.WriteLine(s);
}
JavaScript:
for (var e in marray) {
...
}
Riassumendo tutto questo - ti elencherò i due approcci, sia quello considerato errato che quello corretto.
- Quello considerato errato, viene:
JavaScript:
var marray = ["pippo", "ciao", "123", "pizza"];
for (var e in marray) { // e = elemento
console.log(marray[e]);
}
- Quello considerato corretto oltre ad essere il più veloce (con un indice) viene:
JavaScript:
var marray = ["pippo", "ciao", "123", "pizza"];
for (var i=0; i<marray.length; i++) { // i = indice
console.log(marray[i]);
}