home
자바
home

배열 forEach, map, fill 알아보기

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()]에 연달아 사용할 수 있어서
성능은 떨어질 수 있어도 편리함