티스토리 뷰
2일차도 1일차에 이어 계속 자바스크립트라는 언어를 배운다. 다른 컴퓨터 언어를 배워보진 않았지만, 자바스트립트는 그다지 이해하기 어렵지 않고, 기능은 다양한 언어라는 생각이 든다.
소문자를 대문자로 바꾸기
자바스크립트를 공부하면서 참고할만한 사이트가 있다. 오늘 공부할 부분인 소문자를 대문자로 바꾸는 함수를 찾기위해 구글에서 'javascrip uppercase'를 검색해보면 'MDN Web Docs'사이트가 나온다. 이 사이트는 자바스크립트를 만드는 사람들이 설명서들을 올려놓는 곳이다.
여기에서 보면, 'sentence'라는 변수의 소문자들을 다 대문자로 바꾸어 출력하고 싶다면, 아래와 같이 입력하면 된다.
console.log(sentence.toUpperCase( ));
즉, 소문자를 대문자로 바꾸려면 'toUpperCase'라는 함수를 쓰면 된다.
특정기호를 중심으로 데이터 구분하기
예를 들어, 이메일정보에서 @를 기준으로 데이터를 구분하여 출력하려고 하는 경우, 똑같이 위 사이트를 검색해보면 'split' 함수를 사용할 수 있고, 다음과 같이 쓸 수 있다.
let email ="rose@gmail.com"
console.log(email.split('@')) // ['rose', 'gmail.com']으로 출력된다.
이번엔 다시 문자열을 합치고 싶은 경우이다.
예를 들어, [서울시, 마포구, 망원동]이라는 리스트를 부등호 표시로 연결한다고 치자. 이때, 'join'이라는 함수를 쓰면 된다.
let names = ["서울시", "마포구", "망원동"]
console.log(names.join('>')) //서울시>마포구>망원동이라고 출력된다.
함수 만들기
function을 사용해 함수를 직접 만들수도 있다. 형태는 아래와 같다.
function 함수명() { }
간단한 함수를 만들어보자. funcNum()을 실행하면 { }안에 있는 내용들이 실행된다.
function funcNum(num1, num2){
console.log(num1+num2)
}
funcNum(10,20) //funcNum()함수를 호출한다. 30이 출력된다.
이것은 아래의 방식(리터럴 방식)으로도 가능하다.
let a=function(){
console.log("10") }
a() //10이 출력된다.
조건문 함수 (if)
자바스크립트의 꽃이라고 할 수 있는 조건문과 반복문 함수라고 할 수 있다.
성인인지 아닌지 구분하는 함수를 만들어보면 다음과 같다.
function is_adult(age){
if(age>20){
console.log("성인")
}
else if(age>10){
console.log("청소년")
}
else {
console.log("어린이") }
}
is_adult(30) //"성인"이 출력된다
AND와 OR은 각각 &&, ||로 표시한다.
// AND 조건은 이렇게
function is_adult(age, sex){
if(age > 20 && sex == '여'){
alert('성인 여성')
} else if (age > 20 && sex == '남') {
alert('성인 남성')
} else {
alert('청소년이에요')
}
}
is_adult(25,'남') // '성인 남성'이라는 alert창이 뜸
// 참고: OR 조건은 이렇게
function is_adult(age, sex){
if (age > 65 || age < 10) {
alert('탑승하실 수 없습니다')
} else if(age > 20 && sex == '여'){
alert('성인 여성')
} else if (age > 20 && sex == '남') {
alert('성인 남성')
} else {
alert('청소년이에요') }
}
반복문 함수 (for)
0부터 시작하여 10보다 작을 때까지 1씩 증가시키는 반복문을 쓰려면 다음과 같다.
for (let i=0; i<10; i++)
{ console.log(i) } //0,1,2,3,4,5,6,7,8,9가 차례로 출력됨
0부터 n-1까지의 숫자의 함을 구하는 함수를 만들어 보면 다음과 같다.
function get_sum(n){
let sum = 0;
for (let i=0;i<n; i++) {
sum = sum +i //sum+= i 라고도 입력가능.
}
return sum
}
let result = get_sum(100) //100까지의 결과값을 보기위해, 아래와 같이 입력한다.
console.log(result) //결과값 4950이 나온다.
리스트를 변수로 하는 반복문을 하나 더 실행해보면 다음과 같다.
let people = ['철수', '영희', '민수', '기남', '동희']
for (let i=0; i<people.length; i++) {
console.log(people[i])
} //철수, 영희,민수, 형준, 기남, 동희가 각각 따로 출력된다.
다음은 리스트와 딕셔너리가 함께 있는 경우이다.
let scores = [
{'name':'철수', 'score':90},
{'name':'영희', 'score':85},
{'name':'민수', 'score':70},
{'name':'형준', 'score':50},
{'name':'기남', 'score':68},
{'name':'동희', 'score':30},
]
for (let i = 0 ; i < scores.length ; i++) {
console.log(scores[i]);
} // 이렇게 하면 리스트 내의 딕셔너리를 하나씩 출력할 수 있다
만약, 70점 이하인 학생들만 출력하고자 한다면, 조건문에 다음과 같이 입력하면 된다.
for (let i = 0 ; i < scores.length ; i++) {
if(scores[i]['score']<70){
console.log(scores[i]); }
}
아래의 문제를 연습해보자. 여러가지 값이 들어있는 리스트에서 특정값이 몇개가 들어있는지 알아보자.
아래에서 딸기가 몇 개가 들어있는지 알아보려면, 아래와 같이 작성하면 된다.
let fruit_list = ['사과','감','감','배','포도','포도','딸기','포도','감','수박','딸기']
let count=0
for(let i=0; i<fruit_list.length; i++){
let fruit = fruit_list[i]
if(fruit=="딸기"){
count +=1 }
}
console.log(count) //2가 출력된다
1일차에 배운 서울시 미세먼지표의 Json뷰에서 미세먼지값이 40이하인 지역이름을 출력시키고자 한다면, 어떻게 해야할까? 먼저 서울시 미세먼지 링크페이지에서 데이터를 복사하고, let mise_list = [ ] 리스트 안에 붙여넣기한다.
console.log(mise_list)라고 치면 리스트안에 딕셔너리가 포함된 구조들이 길게 나열된다. 다음으로 아래와 같이 반복문과 조건문을 사용하여 원하는 데이터를 얻을 수 있다.
for(let i=0; i<mise_list.length; i++){
let mise = mise_list[i];
if (mise["IDEX_MVL"]<40 {
let gu_name = mise[MSRSTE_NM"]
let gu_mise = mise["IDEX_MVL"]
console.log(gu_name+":"+gu_mise) }
}
원하는 데이터를 출력시키기 위해 반복문과 조건문을 많이 연습을 해봐야겠다는 생각이 든다.
'도전 365' 카테고리의 다른 글
앱개발 공부 4일차 (0) | 2022.02.28 |
---|---|
앱개발 공부 3일차 (0) | 2022.02.25 |
기업 분석하기 (0) | 2022.02.23 |
앱개발 공부 1일차 (0) | 2022.02.22 |
인공지능시대의 수학공부(1) (0) | 2022.02.16 |