[Javascript] forEach문, Array( ), fill( )
1. array.forEach( function(value, index, array ){ });
value는 해당 배열의 모든 요소
index는 해당 배열의 위치(순서)
array는 해당 배열 자체를 의미한다.
* 배열의 요소만 사용하고 싶다면 매개변수를 value만 주면 되지만, array를 사용하고 싶다면, value와 index를 사용하지 않는다고 하더라도 매개변수안에 넣어주어야한다. index도 마찬가지로 매개변수로 array는 넣어줄 필요 없지만 value는 꼭 넣어줘야한다.
2. forEach문을 이용하여 배열 값 뿌려주기
Array(숫자)를 이용하여 빈배열을 만들 수 있다. 이때 만들어진 배열의 값은 empty를 가지게 된다.
보통은 [ ] 를 이용해서 배열을 만들지만 숫자가 큰 배열을 만들때는 Array를 이용하는것이 좋다.
Array( )를 이용해 크기가 20인 배열을 만들어 주고, forEach문을 이용해 1 ~ 20의 값들을 배열에 넣어주었다.
그런데 배열안에 값이 할당 되지 않았다.
이유는 배열이 empty값을 가지기 때문이다
empty의 특징은 반복문을 할 수 없다는 것이다.
empty인 배열은 반복문으로 돌려주어도 주어진 반복 횟수 만큼 도는 것이 아니라 아예 한번도 돌지 않는다는 것이다.
내 코드로 보면 arr 배열이 empty를 가지기 때문에 forEach문을 실행조차 하지 못했던 것이다.
empty인걸 깜빡하고 왜 안되는지 한참 찾았다 강의에서 알려줬던 내용이였는데
내가 집중을 안했나보다ㅋㅋ (급 자아성찰)
해결하기 위해서는 fill() 를 사용하면 된다!!
fill() 메서드는 배열의 모든 요소를 정적인 값 하나로 채워준다.
forEach문 이용해 1~20까지의 값을 줄 것이므로 fill()에 매개변수를 주지않고 사용하였다.
매개변수를 주지않았기 때문에 모든 요소의 값이 undefined로 채워졌다.
이제 다시 forEach문을 이용해 배열 값을 넣어보자!
반복문이 제대로 동작하고 배열 값을 잘 넣어준것을 확인하였다!