- 예시
for (let i = 0; i < 3; i++) { console.log(hi); } # 결과 : hi\n hi\n hi\n # \n은 enter를 의미
- 예시
const a = [1, 2, 3, 7, 6, 10]; a.forEach(data => { console.log(data); }); # 배열의 모든 값을 도는데, 그 하나하나의 값들은 data라는 이름으로 가져오겠다는 의미. # data는 사용자 지정 변수명으로 아무 이름이나 적어도 상관 없음. # 결과 : 1\n 2\n 3\n 7\n 6\n 10\n
- 예시
const a = [1, 2, 3, 7, 6, 10]; b = a.map(data => { console.log(data); return (data + 1); }); console.log(b); # forEach와 동일하지만, return을 통해 새 배열을 받아올 수 있음. # console.log(data)결과 : 1\n 2\n 3\n 7\n 6\n 10\n # console.log(b)결과 : 2\n 3\n 4\n 8\n 7\n 11\n
- 초기값이 없는 경우 예시
const a = [1, 2, 3, 7, 6, 10]; //a.reduce((누적값, 현재값, 인덱스, 요소) => {return}, 초기값); b = a.reduce((sum, cur, i) => { console.log(sum, cur, i); return sum + cur; }) console.log("b = " + b);
- 결과 :
- 초기값이 있는 경우 예시
const a = [1, 2, 3, 7, 6, 10]; a.reduce((sum, cur, i) => { console.log(sum, cur, i); return sum + cur; }, 0);
- 결과 :
- Tip1. 초기값을 배열로 두는 등 많은 부분 활용도 가능
const a = [1, 2, 3, 7, 6, 10]; const b = a.reduce((sum, cur, i) => { if (cur % 2) sum.push(cur); return sum; }, []); console.log(b); # 결과 : [1, 3, 7]
- Tip2. 만약 배열 값이 한개일 경우 (reduce 함수 안쪽은 실행되지 않음.)
const a = [1]; const b = a.reduce((a, cur) => { console.log(a, cur); return a + cur}); console.log("b = " + b); # 결과 : b = 1 # return에 어떤 값을 넣더라도 b는 a[0]값이 나옴.
reduce 참고 : https://www.zerocho.com/category/JavaScript/post/5acafb05f24445001b8d796d