개발일지

(나의개발자일지) 1-3주차

대리만쥬 2023. 3. 1. 13:58
반응형

여러 개의 값아 댜앙한 구조를 변수에 넣어서 관리하는 법

- 리스트(배열) & 딕셔너리(객체)

  리스트(계란바구니)

- 코딩에서 순서는 1,2,3,4가 아님 -> 0부터 시작 0,1,2,3,4

 

즉, let a_list = []  // 리스트를 선언. 변수 이름은 역시 아무렇게나 가능!
// 또는, let b_list = [1,2,'hey',3] // 로 선언 가능

b_list[1] // 2 를 출력한다는 것은 list 중 2번째 순서인 "1"을 입력한 것이기 때문에
b_list[2] // 'hey'를 출력

// 리스트에 새로운 요소 넣기 (.push)
b_list.push('헤이')를 하면 b_list 맨 뒤에 헤이가 추가됨
b_list // [1, 2, "hey", 3, "헤이"] 를 출력

// 리스트의 길이 구하기(.length)
b_list.length // 5를 출력

 


 

딕셔너리 = 전화번호부(키와 벨류 값의 묶음)

let a_dict = {}  // 딕셔너리 선언. 변수 이름은 역시 아무렇게나 가능!
// 또는, let b_dict = {'name':'Bob','age':21} // 로 선언 가능
b_dict['name'] // 'Bob'을 출력
b_dict['age'] // 21을 출력

b_dict['height'] = 180 // 딕셔너리에 키:밸류 넣기
b_dict // {name: "Bob", age: 21, height: 180}을 출력

 

리스트와 딕셔너리의 조합

names = [{'name':'bob','age':20},{'name':'carry','age':38}]

names라는 변수에 리스트라는 형태로 값을 담는 그릇이 생성되어 있고,

그 안에 딕셔너리라는 객체가 0번째와 1번째가 존재한다.

 

대괄호[]로 선언하는 건 리스트, 중괄호{}로 선언하는 건 딕셔너리


// names[0]['name']의 값은? 'bob'
// names[1]['name']의 값은? 'carry'

new_name = {'name':'john','age':7} = 딕셔너리
names.push(new_name)

// names의 값은? [{'name':'bob','age':20},{'name':'carry','age':38},{'name':'john','age':7}]
// names[2]['name']의 값은? 'john'

 

딕셔너리의 자주쓰는 또 다른 표현

let b_dict = {'name':'Bob','age':21}


//bob 이름을 꺼낼땐 두 가지 방식으로 깞을 꺼낼 수 있습니다.
b_dict['name']
b_dict.name

둘다 똑같이 딕셔너리의 키값에 접근하여 값 가능

 


 

자바스크립트 기본 제공함수(도구)

 

예를 들면, 나눗셈의 나머지를 구하고 싶은 경우(%)
let a = 20 ,let b = 7
a % b = 6

 

모든 알파벳을 대문자로 바꾸고 싶은 경우(.toUpperCase())
let myname = 'spartacodingclub'
myname.toUpperCase() // SPARTACODINGCLUB

 

특정 문자로 문자열을 나누고 싶은 경우  (.split)
let myemail = 'sparta@gmail.com'
let result = myemail.split('@') // ['sparta','gmail.com']


result[0] // sparta 

result[1] // gmail.com

let result2 = result[1].split('.') // ['gmail','com']

result2[0] // gmail -> 우리가 알고 싶었던 것!
result2[1] // com

myemail.split('@')[1].split('.')[0] // gmail -> 간단하게 쓸 수도 있다! (함수형 프로그래밍)

 

특정 문자로 나누고 싶은 경우 
let txt = '서울시-마포구-망원동'
let names = txt.split('-'); // ['서울시','마포구','망원동']

 

특정 문자로 합치고 싶은 경우(.join)
let result = names.join('>'); // '서울시>마포구>망원동' (즉, 문자열 바꾸기!)


함수(도구)를 직접 만드는 방법 

 

// 만들기: function 함수이름(필요한 변수들) {
( 함수안)내릴 명령들을 순차적으로 작성
}
// 사용하기
함수이름(필요한 변수들);

 

// 두 숫자를 입력받으면 더한 결과를 돌려주는 함수
function sum(num1, num2) {
console.log('num1: ', num1, ', num2: ', num2);

//return 으로 값을 돌려주는, 뱉는 구조로 변수에 값을 전달 할 수도 있습니다.
return num1 + num2;
}

 

변수 선언방식 let a = function(){
console.log("리터럴 방식 이라고 합니다");
}

a()
sum(3, 5); // 8
sum(4, -1); // 3
let result = sum(10,10)
console.log(result) // 20

반응형

'개발일지' 카테고리의 다른 글

(나의개발자일지) 1-6주차(숙제)  (0) 2023.03.05
(나의개발자일지) 1-5주차  (0) 2023.03.03
(나의개발자일지) 1-4주차  (0) 2023.03.01
(나의개발자일지) 1-2주차  (0) 2023.02.28
(나의개발자일지) 1-1주차  (0) 2023.02.27