배열함수는 배열에만 사용할 수 있는 함수로, 리스트이름.push()[python기준 리스트이름.append()]와 같은 함수라고 생각하시면 됩니다.
본 페이지에서는 유용한 배열함수인 forEach, filter를 배워볼 것입니다.
배열에 있는 요소들을 대상으로 for문을 돌려주는 함수입니다.
const MyArray = ["가", "나", "다", "라"]
MyArray.forEach((item)=>console.log(item));
//가
//나
//다
//라
위와 같이 사용합니다. forEach() 구문 안에는 보통 Arrow Function [()⇒]이 사용됩니다.
()안에는 최대 두개의 매개변수가 올 수 있습니다. (최대 두개의 인수를 받을 수 있습니다.)
첫번째 인수는 위와 같이 배열에 들어가 있는 각각의 요소이고, 두번째 인수는 각 요소의 인덱스가 오게 됩니다.
const MyArray = ["가", "나", "다", "라"]
//String(숫자) 숫자를 문자열로 바꿔주는 함수
//String(index) 숫자인 인덱스 0, 1 등을 문자열로 "0", "1"로 바꿔줌.
MyArray.forEach((item,index)=>console.log(item+String(index)));
//가0
//나1
//다2
//라3
배열 내에서 특정 조건을 만족하는 값만을 뽑아내는(필터하는) 함수입니다.
const MyArray = [1,2,3,4,5,6];
//2로 나눈 나머지가 0인 것만 필터한다 === 짝수만 필터한다
const newArray = MyArray.filter((item)=>item%2 === 0);
console.log(newArray);
//[2,4,6]
위는 MyArray에서 짝수만을 가져와 newArray에 저장하는 코드입니다. filter() 구문 안에서도 보통 Arrrow Function[()⇒]을 사용합니다.
()안에 들어가는 매개변수 (현재의 경우 “(item)”)에는 리스트에서의 요소들 (현재의 경우 1,2,3,4,5,6)이 옵니다.
단, filter()함수를 사용할 때는 주의할 점이 있습니다. 바로 함수 안에서의 return 값이 있어야만 원하는 요소들을 필터할 수 있다는 것입니다.
const newArray = MyArray.filter((item)=>item%2 === 0);
위와 같은 경우 (item)⇒{...}에서 {}을 생략하면서 자동으로 return이 되게 만들어 두어서 함수는 잘 작동할 것입니다.
const newArray = MyArray.filter((item)=>{item%2 === 0});
하지만 똑같은 구문을 위와 같이 작성한다면 함수는 잘 작동하지 않을 것입니다. {}을 사용하였을 때는 따로 return을 해주어야 하기 때문입니다.
const newArray = MyArray.filter((item)=>{return item%2 === 0});