요 며칠은 javascript 기초 문법에 대해 공부했다.
리스트와 딕셔너리, 반복문과 조건문이었다.
:여러 단일 요소가 들어가 있는 묶음 (단, 순서가 중요함)
let T1 = ['제우스', '오너', '페이커', '구마유시', '케리아']
로 설정할 경우 'T1'이라는 이름의 리스트가 생긴 것이다.
이 때, 리스트의 순서는 언제나 0부터 시작하기 때문에
T1[0]은 제우스, T1[3]은 구마유시가 된다.
:여러 요소와 그에 따른 값이 들어가 있는 묶음
let T1 = {'Top':'제우스','Jungle':'오너','Mid':'페이커','Adc':'구마유시','Sup':케리아'}
let HLE = {'Top':'도란','Jungle':'피넛','Mid':'제카','Adc':'바이퍼','Sup':딜라이트'}
이렇게 딕셔너리를 설정해두면 딕셔너리 T1의 Top에 해당하는 값은 제우스가 되고 딕셔너리 HLE의 Adc에 해당하는 값은 바이퍼가 된다.
출력할 때는 T1{'top'}이 아닌 T1['top']으로 해야 제우스라는 값을 이끌어낼 수 있다.
딕셔너리와 리스트를 조합하면 정보를 쉽게 정리할 수 있다.
예를 들어 LCK의 프로 명단을 받았다고 치면
let LCK = [
{'name':'Zeus', 'Lane':'Top', 'Team':'T1', 'age':20},
{'name':'Chovy', 'Lane':'Mid', 'Team':'Gen', 'age':23},
{'name':'Keria', 'Lane':'Sup', 'Team':'T1','age':21},
{'name':'Viper', 'Lane':'Adc', 'Team':'HLE','age':24},
{'name':'Showmaker', 'Lane':'Mid', 'Team':'DK','age':24},
{'name':'Pyosik', 'Lane':'Jungle', 'Team':'KT','age':24}
]
으로 정리할 수 있다. 이 때
리스트 LCK[2]는 딕셔너리값 {'name':'Keria', 'Lane':'Sup', 'Team':'T1'}가 된다.
그리고 LCK[2]['Lane'] 는 'Sup'이 된다.
만약 내가 위의 프로명단에서 이름만 뽑아 정렬하고 싶다면 (편의상 console에 출력)
일일이 이름을 하나하나 적어 출력하기보다 반복문을 사용할 수 있다.
반복문은 forEach를 사용해 쉽게 작성할 수 있다.
(foreach까지 치면 자동완성으로 아래와 같은 함수식이 작성된다.)
array.forEach(element => {
});
이때 array는 리스트의 이름을, element는 각 요소를 의미한다.
따라서 다음과 같이 작성해주면 선수들의 이름 명단을 console에 찍어낼 수 있다.
LCK.forEach(a => {
console.log(a['name'])
});
조건식을 작성해서 값이 참일 때와 거짓일 때의 설정을 다르게 부여할 수 있다.
if(조건문){
//참일 때 이렇게 합니다
} else {
//거짓일 때 이렇게 합니다
}
예를 들어 선수들 중에 23살 이상인 선수들은 레드팀에, 23살 미만인 선수들은 블루팀에 배정한다고 치자.
반복문과 조건문(if문)을 사용해 다음과 같이 작성할 수 있다.
LCK.forEach(a => {
if(a['age'] < 23) {
console.log('블루팀입니다.'
} else {
console.log('레드팀입니다.'
})
});
리스트, 딕셔너리, 반복문, 조건문 등은 파이썬을 배울 때 배웠었는데 Javascript에서 또 배우니 낯익기도 하고 조금 다른 부분들이 있기도 해서(수식 등) 재미있었다.