======JavaScript Loop For In======
* description : JavaScript Loop For IN
* author : 오션
* email : shlim@repia.com
* lastupdate : 2021-04-26
\\
===the source of this article===
[[https://www.w3schools.com/js/js_loop_forin.asp|JavaScript Loop For In]]\\
\\
%%JavaScript%% ''%%for/in%%'' 스테이트먼트는 오브젝트의 속성을 반복합니다.\\
====Syntax====
for (key in object) {
// code block to be executed
}
\\
let txt = "";
let person = { fname: "John", lname: "Doe", age: 25 };
let x;
for (x in person) {
txt += person[x] + " ";
}
document.getElementById("demo").innerHTML = txt; // John Doe 25
\\
====예제 설명====
* **for in** 루프는 person 오브젝트를 반복합니다.
* 각 반복은 **키(x)**를 반환합니다.
* 키는 키 값에 액세스하는 데 사용됩니다.
* 키의 값은 person[x]입니다.
=====For/In Over Arrays=====
%%JavaScript%% ''%%for/in%%'' 문은 배열의 속성을 반복할 수도 있습니다.\\
====Syntax====
for (variable in array) {
code
}
\\
let txt = "";
let numbers = [45, 4, 9, 16, 25];
let x;
for (x in numbers) {
txt += numbers[x] + "
";
}
document.getElementById("demo").innerHTML = txt; // 45
4
9
16
25
\\
인덱스 **순서**가 중요한 경우에는 배열에 대해 **%%for in%%**을 사용하지 마세요.
인덱스 순서는 구현에 종속적이고, 배열의 값은 예상 순서대로 액세스하지 못할 수 있습니다.
인덱스 순서가 중요한 경우, **for** 루프, **for of** 루프, **Array.forEach()**를 사용하는 것이 좋습니다.
\\
=====Array.forEach()=====
''%%forEach()%%'' 메서드는 각 배열 요소에 대해 한 번씩 함수 (콜백 함수)를 호출합니다.\\
\\
let txt = "";
let numbers = [45, 4, 9, 16, 25];
numbers.forEach(myFunction);
document.getElementById("demo").innerHTML = txt;
function myFunction(value, index, array) {
txt = txt + value + "
"; // 45
4
9
16
25
}
\\
상기 함수는 3 개의 인수(arguments)를 취합니다.\\
\\
* The item value
* The item index
* The array 자체
위의 예제에서는 value 매개변수 만 사용합니다. 예제는 다음과 같이 다시 작성할 수 있습니다.\\
\\
let txt = "";
let numbers = [45, 4, 9, 16, 25];
numbers.forEach(myFunction);
document.getElementById("demo").innerHTML = txt;
function myFunction(value) {
txt = txt + value + "
"; // 45
4
9
16
25
}
{{tag>오션 Javascript For Loop In}}