For In -silmukkaJavaScript for in -käsky käy läpi objektin ominaisuudet:
for (key in object) {
// code block to be executed
}const person = {fname:"John", lname:"Doe", age:25};
let text = "";
for (let x in person) {
text += person[x];
}Kokeile itse →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript For In Loop</h2>
<p>The for in statement loops through the properties of an object:</p>
<p id="demo"></p>
<script>
const person = {fname:"John", lname:"Doe", age:25};
let txt = "";
for (let x in person) {
txt += person[x] + " ";
}
document.getElementById("demo").innerHTML = txt;
</script>
</body>
</html>
for in -silmukka toistuu person -objektin yli
Jokainen iteraatio palauttaa avaimen (x)
Avainta käytetään avaimen arvon lukemiseen
Avaimen arvo on henkilö[x]
In Over ArraysJavaScript for in -käsky voi myös kiertää taulukon ominaisuuksien yli:
for (variable in array) {
code
}const numbers = [45, 4, 9, 16, 25];
let txt = "";
for (let x in numbers) {
txt += numbers[x];
}Kokeile itse →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Arrays</h1>
<h2>For In Loops</h2>
<p>The for in statement can loops over array values:</p>
<p id="demo"></p>
<script>
const numbers = [45, 4, 9, 16, 25];
let txt = "";
for (let x in numbers) {
txt += numbers[x] + "<br>";
}
document.getElementById("demo").innerHTML = txt;
</script>
</body>
</html>
Älä käytä arvoa for in taulukon yli, jos hakemiston järjestys on tärkeä.
Indeksin järjestys on toteutuksesta riippuvainen, ja taulukon arvoja ei ehkä voida käyttää odottamassasi järjestyksessä.
On parempi käyttää silmukkaa for, for of tai Array.forEach(), kun järjestys on tärkeä.
Array.forEach()Metodi forEach() kutsuu funktiota (takaisinkutsufunktiota) kerran kullekin taulukon elementille.
const numbers = [45, 4, 9, 16, 25];
let txt = "";
numbers.forEach(myFunction);
function myFunction(value, index, array) {
txt += value;
}Kokeile itse →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Arrays</h1>
<h2>The forEach() Method</h2>
<p>Call a function once for each array element:</p>
<p id="demo"></p>
<script>
const numbers = [45, 4, 9, 16, 25];
let txt = "";
numbers.forEach(myFunction);
document.getElementById("demo").innerHTML = txt;
function myFunction(value, index, array) {
txt += value + "<br>";
}
</script>
</body>
</html>
Huomaa, että funktiolla on 3 argumenttia:
Tuotteen arvo
Tavaran indeksi
Itse sarja
Yllä oleva esimerkki käyttää vain arvoparametria. Se voidaan kirjoittaa uudelleen muotoon:
const numbers = [45, 4, 9, 16, 25];
let txt = "";
numbers.forEach(myFunction);
function myFunction(value) {
txt += value;
}Kokeile itse →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Arrays</h1>
<h2>The forEach() Method</h2>
<p>Call a function once for each array element:</p>
<p id="demo"></p>
<script>
const numbers = [45, 4, 9, 16, 25];
let txt = "";
numbers.forEach(myFunction);
document.getElementById("demo").innerHTML = txt;
function myFunction(value) {
txt += value + "<br>";
}
</script>
</body>
</html>