JavaScript til ind


Indholdsfortegnelse

    Vis indholdsfortegnelse


For In-løkken

JavaScript-sætningen for in går gennem egenskaberne for et objekt:

Syntaks

for (key in object) {
  // code block to be executed

}

Eksempel

const person = {fname:"John", lname:"Doe", age:25};

let text = "";
for (let x in person) {
  text += person[x];
}

Prøv det selv →

<!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>

Eksempel forklaret

  • for in-løkken itererer over et person-objekt

  • Hver iteration returnerer en nøgle (x)

  • Nøglen bruges til at få adgang til nøglens værdi

  • Værdien af nøglen er person[x]


For In Over Arrays

JavaScript-sætningen for in kan også loope over egenskaberne for et array:

Syntaks

for (variable in array) {
  code
}

Eksempel

const numbers = [45, 4, 9, 16, 25];

let txt = "";
for (let x in numbers) {
  txt += numbers[x];
 
}

Prøv det selv →

<!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>

Brug ikke for in over et array, hvis indeksets rækkefølge er vigtig.

Indeksrækkefølgen er implementeringsafhængig, og matrixværdier kan muligvis ikke tilgås i den rækkefølge, du forventer.

Det er bedre at bruge en for-løkke, en for of-løkke eller Array.forEach(), når rækkefølgen er vigtig.



Array.forEach()

Metoden forEach() kalder en funktion (en tilbagekaldsfunktion) én gang for hvert array-element.

Eksempel

const numbers = [45, 4, 9, 16, 25];

let txt = "";
numbers.forEach(myFunction);

function myFunction(value, index, array) {
   
txt += value;
}

Prøv det selv →

<!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>

Bemærk at funktionen tager 3 argumenter:

  • Varens værdi

  • Vareindekset

  • Selve arrayet

Eksemplet ovenfor bruger kun værdiparameteren. Den kan omskrives til:

Eksempel

const numbers = [45, 4, 9, 16, 25];

let txt = "";
numbers.forEach(myFunction);

function myFunction(value) {
   
txt += value; 
}

Prøv det selv →

<!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>