TIL 3주차 2일 - 배열 실습, 객체 개념

Sang heon lee·2021년 5월 25일
0

TIL 리스트

목록 보기
14/60

학습 내용

1. 배열 메소드

1. slice            원본 immuntable

let arr = [78,65,40,35,28]
arr.slice(2,4) // [40,35] 시작점 2는 포함 끝점 4는 미포함
arr.slice(1) // [65,40,35,28] 시작점 1부터 모두 출력
arr.slice(-2) // [35,28] 음수는 뒤에서 부터 출력

2. splice

let arr = ['Jan', 'March', 'April', 'June']
arr.splice(2,0,'Feb') // ['Jan', 'March', 'Feb', 'April', 'June'] 인덱스2에서 0개 제거하고 'Feb' 추가
arr.splice(4,1, 'May') // ['Jan', 'March', 'Feb', 'April', 'May'] 인덱스4에서 1개 제거하고 'May' 추가
arr.splice(0,2, 'June', 'July') // ['June', 'July', 'Feb', 'April', 'May'] 인덱스0에서 2개 제거하고 'June', 'July 추가
arr.splice(3,1) // ['June', 'July', 'Feb', 'May']  인덱스3에서 1개 제거

3. array 관련 String 메소드 : split            원본 immuntable

let str1 = 'There is my house'
let modiStr = str1.split(' ') // [there, is, my, house], 배열로 전환
  
let str2 = 'Harry Trump ;Fred Barney; Helen Rigby ; Bill Abel ;Chris Hand ';
let re = /\s*(?:;|$)\s*/;
  
let nameList = str2.split(re) // [Harry Trump, Fred Barney, Helen Rigby, Bill Abel,Chris Hand]

4. join

let elements = ['Fire', 'Air', 'Water'];

elements.join() // "Fire,Air,Water"

elements.join('') // "FireAirWater"

elements.join('-') // "Fire-Air-Water"

2. 객체(Object) 개념

1. 개념

아래와 같이 user 에 여려 변수들을 묶어놓은 개념
firstname 등을 키(key)라 부르며 'sangheon'등을 값(value)라 칭한다.

let user = {
	firstname : 'sangheon',
	lastname : 'lee',
	email : 'bleach8625@gmail.com',
	city : 'seoul'
}

2.키,값 추가 및 삭제

user.gender : 'male' // 추가
delete user.city // 삭제

3. 표기법

A. dot notation

user.firstname; // 'sangheon'
user.email; // 'bleach8625@gmail.com'

B. Braket notation

user['lastname']; // 'lee'
user['city']; // 'seoul'  

느낀 점

배열과 객체 모두 이론으로만 배웠을 떄는 특별한 것이 없고 간단하다고만 생각했다.
하지만 실습을 해보고 관련 코딩 문제를 겪고 나서는 이거 참....간단한게 아니구나... 라고 느껴버렸다.
이론은 간단한데 활용할수 있는 방법이 무궁무진하다고 바로 느껴버렸다.
많이 보고 많이 써봐서 빨리 익숙해져야 겠다.
익숙해져서 어려운 개념이 아니라 쉬운 개념으로 빨리 전환되기를...

미비한 점

배열의 메소드 중 원본 배열을 수정하는 것과 수정하지 않고 새로운 배열 혹은 값을 출력하는 것. 헷갈리지 말고 한번 더 생각하자.

arr.shift() // arr.pop() 은 자체로는 추출한 인덱스의 값을 출력된다.
arr.unshift(??) // arr.push(??) 는 자체로는 배열의 길이가 출력된다.
변경된 배열을 출력하려면 arr를 출력해야된다.

profile
개초보

0개의 댓글