SOCO
배열응용: forEach, map, Array().fill() 본문
1. 배열에 대한 반목문 : 배열명.forEach( ( ) => { })
배열의 요소를 순차적으로 훑으면서 함수를 실행함
배열명.forEach((요소, 인덱스) => { })
const array = [3,1,4,6]
array.forEach((element, index) => {
console.log('인덱스 : '+index +' 숫자 : ' +element)
});
//인덱스 : 0 숫자 : 3
//인덱스 : 1 숫자 : 1
//인덱스 : 2 숫자 : 4
//인덱스 : 3 숫자 : 6
응용 예시
const answer=[3,1,4,6]; //정답은 3,1,4,6
const value = '3214' //입력한 값은 3214
let strike = 0; //처음 시작은 스트라이크 0
let ball = 0; // 볼 0
answer.forEach( (element, i) => {//element는 배열의 각 요소, i는 배열의 각 인덱스임
const index = value.indexOf(element) //index는 입력한 값(value)에 element가 몇번째에 위치하는지
if(index>-1){//해당 숫자가 있다면
if(index===i){//게다가 위치까지 같다면
strike +=1 //스트라이크 +1
} else{ //위치는 다르다면
ball +=1 //볼 +1
}
}
}
2. 배열명.map( ( )=> { })
map은 forEach의 역할도 하면서 return에 적혀져 있는대로 "새로운" 배열을 만듦
const array = [1,2,3,4];
array.map((element, index) =>{
return element*2;
})
//[2,4,6,8]
기존배열은 수정되지 않고 새로운 배열이 생기는 것임
3.빈 배열 만들기 : Array().fill()
const array = Array(3).fill()
console.log(array)//[undefined, undefined, undefined]
'프론트 > java script 기초지식' 카테고리의 다른 글
배열 관련 개념 모음 (0) | 2021.06.11 |
---|---|
opertator, if, for loop (0) | 2021.06.11 |
변수, 상수, scope, 데이터타입 등 (0) | 2021.06.11 |
콘솔에 출력, script async와 defer의 차이점 (0) | 2021.06.10 |
자바스크립트 기본 _드림코딩 앨리 (0) | 2021.06.10 |