
배열은 한개의 변수에 여러 개의 값을 순차적으로 저장할 때 사용한다.
오늘은 기본적으로 4가지의 메소드를 배웠다.
push(뒤에 요소 추가), unshift(앞에 요소 추가), pop(뒤에 요소 삭제), shift(앞에 요소 삭제)
그리고 문제를 풀어나가면서 더 많은 메소드를 찾아보고 사용하게 되었다.
slice 와 splice는 얼핏보면 똑같아 보인다. 그래서 문제를 풀면서 slice를 써야하나? splice를 써야하나? 고민을 하게 된것 같다.
우선 slice()의 예를 들어보자.
let arr =[1,2,3,4,5] arr.slice(0,1) //[1] arr //[1, 2, 3, 4, 5]
위의 예시를 보면 알 수 있듯이 slice는 바로 리턴이 가능하다. slice 메소드를 사용한 후에도 원본 arr은 변하지 않는다는 것을 알 수 있다.
그렇다면 splice()의 예를 들어보자.
let arr =[1,2,3,4,5] arr.splice(0,1) //[1] arr //[2, 3, 4, 5]
splice메소드는 원본 배열이 바뀌는 것을 확인할 수 있다.
이와 비슷한 경우로 unshift 와 shift 메소드도 원본 배열이 바뀐다.
예를 들자면
let arr =[1,2,3,4,5]
arr.unshift(1) // 6 -->배열의 length가 나온다
arr // [1,1,2,3,4,5]
이 경우에도 원본배열에 추가된값을 포함해서 원본 배열이 바뀌는 것을 볼 수 있다.