본문 바로가기
javascript

배열 forEach , map , fill

by rewind 2024. 2. 10.

아래 코드를 forEach로 바꿔보자

const answer = [3, 1, 4, 6];
const value = '3214';
let strikeCount = 0;
let ballCount = 0;
answer.forEach( (element("요소") , i("인덱스") ) => {

});
for(let i = 0 ; i< answers.length ; i++){
    const index = value.indexOf(answers[i]);
    if(index >= 0){	// 일치하는 숫자 발견
        if(index === i){ // 자릿수도 같다
            strikeCount++;
        } else {        // 숫자만 같다
            ballCount++;
        }
    }
}

 

const answer = [3, 1, 4, 6];
const value = '3214';
let strikeCount = 0;
let ballCount = 0;
answer.forEach( element , i ) => {
    const index = value.indexOf(answers[i]);
    if(index >= 0){	// 일치하는 숫자 발견
        if(index === i){ // 자릿수도 같다
            strikeCount++;
        } else {        // 숫자만 같다
            ballCount++;
        }
    }
}

 

빈 배열만들기

Array(number) , 숫자를 입력시 해당하는 크기의 배열을 생성한다

Array(number).fill(value) => number크기의 배열을 생성 , index내의 값을 value로 변경한다

Array(number).fill(value , start , end)

=> 배열의 start부터 end까지 해당하는 index의 값을 value로 바꾼다(end는 포함하지 않는다!)

 

Array(n)
Array(n).fill()
Array(n).fill(i)
Array(n).fill(value , start , end)
Array(n).fill(value).map( (element , idx) => { return "" })

ex1)
10크기의 배열 생성 후 index 5~9까지의 값을 test로 변경하려면
Array(10).fill("test" , 5 , 10);
console.log(Array(10).fill("test" , 5 , 10));
ex2)
10 크기의 배열 생성 후 인덱스의 값을 1~10으로 채우려면
Array(10).fill(10).map((element , idx) => {
	return idx + 1;
})