Javascript 리스트 & 딕셔너리
리스트 & 딕셔너리
자바스크립트에서는 리스트와 딕셔너리 대신 배열과 객체를 사용합니다. 배열은 순서가 있는 값들의 집합이며, 객체는 이름과 값이 쌍으로 이루어진 속성들의 집합입니다.
리스트: 순서를 지켜서 가지고 있는 형태이며, 아래의 형태를 가지고 있습니다.
let a_list = [] // a_list 라는 변수와 "[ ]"안에 있는 내용과 동일함을 선언 할 수 있습니다. 변수 이름은 역시 아무렇게나 가능! // 또는, let b_list = [1,2,'hey',3] // 로 선언 가능 //숫자와, 문자의 구별은 "" 를 통해 구별한다. ""로 감싸여있지 않으면 숫자로 인식하며 관련된 부분을 확인하는 방법은 아래 코드로 확인할 수 있다. //console.log(typeof "9") //console.log(typeof 9) b_list[1] // 2 를 출력 b_list[2] // 'hey'를 출력 // 리스트에 요소 넣기 b_list.push('헤이') b_list // [1, 2, "hey", 3, "헤이"] 를 출력 // 리스트의 길이 구하기 b_list.length // 5를 출력
딕셔너리: 키(key)-밸류(value) 값의 묶음
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]['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 customer_1_name = ‘김스파’;
let customer_1_phone = ‘010-1234-1234’;
let customer_2_name = ‘박르탄’;
let customer_2_phone = ‘010-4321-4321’;
…(알아보기 힘듭니다.)딕셔너리를 활용한다면 다음과 같이 고객 별로 정보를 묶을 수 있습니다.
let customer_1 = {‘name’: ‘김스파’, ‘phone’: ‘010-1234-1234’};
let customer_2 = {‘name’: ‘박르탄’, ‘phone’: ‘010-4321-4321’};그리고 순서를 나타내기 위해 리스트를 사용하면, 이렇게나 깔끔해집니다.
let customer = [ {‘name’: ‘김스파’, ‘phone’: ‘010-1234-1234’},
{‘name’: ‘박르탄’, ‘phone’: ‘010-4321-4321’} ]✅보기에도 깔끔해지고, 다루기도 쉬워지고, 고객이 새로 한 명 더 오더라도 .push 함수를 이용해 간단하게 대응할 수 있습니다.