forEach 와 V K
- forEach 와 어레이, 그리고 function 삼신기, v k arr 값으로 여러번 넣을 값을 하나의 코드로 정리 가능하다
- function 으로 어레이를 작동시킬 경우 function(v, k, arr) 로 작성시 v는 어레이의 내용물, k 는 순서값이다.
- 일단 어레이에 많이 사용되서 어레이에 달아놨고 원래 이 설명의 위치는 function 에 있어야 하는거 주의.
const test = document.queryselectorAll(@) 의 경우
여기서 test 어레이로 구성됨을 인지해야 함.
여기서 forEach v 값은 위에 변수지정된 각 html 태그가 된다.
아래는 예시,```jsx
let a = [];
a.push(10);
a.push(50);
a.push(800);
let v = 0;
let k = 0;
let arr = 0;
function aForeachTest(v, k, arr){
v += v;
k = k;
arr = arr;
console.log(v);
console.log(k);
console.log(arr);
};
a.forEach(aForeachTest);
//////////////////////////////////////////////////////
a.forEach(function(v, k, arr) {
v += v;
k = k;
arr = arr;
console.log(v);
console.log(k);
console.log(arr);
})
```
> 특히 k 는 만약 어레이 개수가 10개라 1부터 10까지 한줄씩 만들었다면, forEach 사용시 `코드 몇줄로 열번친거와 같은 효과`가 된다.
forEach 문 자체가 어레이 갯수만큼 function 실행, k 가 각 어레이 순서값이니 각 순서별로 실행되는 결과가 나오는 것.
여러개의 구문에 여러개의 어레이를 각 순서별 순차로 내용물 넣을때 용이하다.
중요한건 forEach(function(v, k, arr) {v.onclick(function(event)} 로써 가능한데 그 하위에있는 하여튼 forEach 제외 함수소괄호에는 v, k, arr 값 사용 금지
>
let derName = ["김", "임", "자", "시벌"];
const elDb = document.querySelectorAll(".testDl > div > dd");
function Txtchange(v, k){
elDb[k].innerText = derName[k];
};
derName.forEach(Txtchange);
derName.forEach(function(v, k) {
elDb[k].innerText = derName[k];
})