반응형
1. 배열에 값을 추가 push(), unshift()
.push(value) : 배열의 맨 끝에 새로운 값 추가.
.unshift(value) : 배열의 맨 앞에 새로운 값 추가.
예시
const arr = [1,2,3,4,5,6];
arr.push(7); // [1,2,3,4,5,6,7];
arr.unshift(0); //[0,1,2,3,4,5,6,7];
2. 배열에 값을 삭제 pop(), shift()
.pop() : 배열의 맨 끝에 있는 값 삭제.
.shift() : 배열의 맨 앞에 있는 값 삭제.
예시
const arr = [1,2,3,4,5,6];
arr.pop(); // 6 arr은 [1,2,3,4,5];
arr.shift(); // 1 arr은 [2,3,4,5];
3. push, pop, shift, unshift 시간복잡도
push, pop: O(1) 상수시간 소요.
shift, unshift: O(n) 선형시간 소요.
배열은 맨뒤가 아닌 앞이나 중간에 요소가 추가/삭제 되면 해당 위치 이후 요소들을 한칸씩 당기거나 밀어야 한다. 그렇기 때문에
shift, unshift
는 앞에 추가/삭제 하므로 O(n) 선형시간
이 소요되며,
push,pop
은 맨 뒤에 추가/삭제 하므로 O(1) 상수시간
이 소요된다.
잘못된 정보에 대한 피드백은 언제나 환영입니다 (´▽`ʃƪ)♡
반응형
'내직업은 IT종사자 > javascript' 카테고리의 다른 글
[javascript] 배열 생성하는 여러가지 방법(ES6) (배열생성자 new Array() / Array.of() / Array.from() ) (0) | 2023.04.17 |
---|---|
[javascript] 다차원 배열을 일차원으로 변경하는 방법 flat(), flatMap(), map() (1) | 2023.03.14 |
[javascript] 헷갈리고 짜증유발 증감연산자 (0) | 2023.03.09 |
React은(는) UMD 전역을 참조하지만 현재 파일은 모듈입니다. 대신 가져오기를 추가해보세요. ts(2686) (0) | 2023.03.08 |
[Javascript] 작업 시간 측정 방법 console.time(), console.timeEnd() (0) | 2023.03.06 |