forEach
const answer = [3, 1, 4, 6];
const value = '3214';
let strike = 0;
let ball = 0;
answer.forEach((element, i) ⇒ {
const index = value.indexOf(element);
if (index > -1) { // 일치하는 숫자 발견
if (index === i) { // 자릿수도 같음
strike += 1;
} else { // 숫자만 같음
ball += 1;
}
}
})
JavaScript
복사
•
element : 요소
•
i : 인덱스
map
const array = [1, 2, 3, 4];
const result = [];
for(let i = 0; i < 4; i++) {
result.push(array[i] * 2);
}
// array에 2씩 곱한 반복문
array.map((element, i) => {
return element * 2;
})
JavaScript
복사
•
map은 배열을 돌면서 값을 바꿔줄 수 있는 배열의 메서드
•
단, 기존 배열이 수정되지 않고 새로운 배열이 만들어짐!
fill
// 크기가 9인 빈 배열 생성
Array(9); // [empty x 9]
// Array.fill() : 배열에 값을 채움
Array(9).fill(0); // [0, 0, 0, 0, 0, 0, 0, 0, 0]
Array(9).fill().map((el, idx) => { //idx가 1씩 늘어나는 것을 활용,
return idx + 1;
}) // [1, 2, 3, 4, 5, 6, 7, 8, 9]
JavaScript
복사
•
map을 쓰는 이유 : 배열 메서드[ex.fill()]에 연달아 사용할 수 있어서
•
성능은 떨어질 수 있어도 편리함


