자바스크립트에서 shift(), splice()를 사용하여 배열의 맨 앞에 요소를 추가/제거하는 방법을 소개합니다.
1. unshift() : 배열 맨 앞에 요소 추가
unshift(element)는 배열의 맨 앞에 element를 추가합니다. 참고로, push(element)는 배열 맨 뒤에 요소를 추가합니다.
const arr = [1, 2, 3];
arr.unshift('A');
console.log(arr);
arr.unshift('B');
console.log(arr);
arr.unshift('C');
console.log(arr);Output:
[ 'A', 1, 2, 3 ]
[ 'B', 'A', 1, 2, 3 ]
[ 'C', 'B', 'A', 1, 2, 3 ]1.1 unshift()로 여러 요소를 배열에 추가
unshift()는 1개 이상의 요소를 배열의 맨 앞에 추가할 수도 있습니다. 아래와 같이 인자로 여러 요소를 전달하면 됩니다.
const arr = [1, 2, 3];
arr.unshift('A', 'B', 'C');
console.log(arr);Output:
[ 'A', 'B', 'C', 1, 2, 3 ]2. shift() : 배열 맨 앞의 요소 제거
shift()는 배열 맨 앞의 요소 1개를 제거하며, 배열에서 제거된 요소의 값을 리턴합니다. 참고로, pop()은 배열의 맨 마지막 요소를 제거합니다.
const arr = [ 'C', 'B', 'A', 1, 2, 3 ];
let removed = arr.shift()
console.log("removed: " + removed);
console.log(arr);
removed = arr.shift()
console.log("removed: " + removed);
console.log(arr);
removed = arr.shift()
console.log("removed: " + removed);
console.log(arr);Output:
removed: C
[ 'B', 'A', 1, 2, 3 ]
removed: B
[ 'A', 1, 2, 3 ]
removed: A
[ 1, 2, 3 ]3. splice() : 배열 맨 앞에 요소 추가
splice()를 이용하여 배열의 맨 앞에 요소를 추가하거나 삭제할 수도 있습니다.
splice()의 Syntax를 먼저 보면, 배열의 startIndex에서 deleteCount 개수만큼 요소를 삭제합니다. 그리고 item1, item2 등, 인자로 전달된 요소를 추가합니다.
예를 들어, splice(0, 0, 'A')는 배열의 Index 0에서 0개 요소를 삭제하고, A를 추가합니다. 즉, 배열 맨 앞에 A를 추가합니다.
array.splice(startIndex, deleteCount, item1, item2, ...)위에서 설명한 것처럼 splice(0, 0, element)는 배열 맨 앞에 요소를 추가합니다.
const arr = [1, 2, 3];
arr.splice(0, 0, 'A');
console.log(arr);
arr.splice(0, 0, 'B');
console.log(arr);
arr.splice(0, 0, 'C');
console.log(arr);Output:
[ 'A', 1, 2, 3 ]
[ 'B', 'A', 1, 2, 3 ]
[ 'C', 'B', 'A', 1, 2, 3 ]3.1 splice()로 여러 요소를 배열에 추가
다음과 같이 splice()로 배열에 여러 요소를 한번에 추가할 수 있습니다.
const arr = [1, 2, 3];
arr.splice(0, 0, 'A', 'B', 'C');
console.log(arr);Output:
[ 'A', 'B', 'C', 1, 2, 3 ]4. splice() : 배열 맨 앞의 요소 제거
splice(0, 1)은 배열의 Index 0에서 요소 1개를 삭제합니다. 따라서, 아래와 같이 배열 맨 앞의 요소 1개를 제거하는 코드를 구현할 수 있습니다.
const arr = [ 'C', 'B', 'A', 1, 2, 3 ];
let removed = arr.splice(0, 1);
console.log("removed: " + removed);
console.log(arr);
removed = arr.splice(0, 1);
console.log("removed: " + removed);
console.log(arr);
removed = arr.splice(0, 1);
console.log("removed: " + removed);
console.log(arr);Output:
removed: C
[ 'B', 'A', 1, 2, 3 ]
removed: B
[ 'A', 1, 2, 3 ]
removed: A
[ 1, 2, 3 ]4.1 splice()로 배열에서 여러 요소를 한번에 삭제
아래와 같이 배열의 앞에서 여러 요소를 한번에 삭제할 수 있습니다.
const arr = [ 'C', 'B', 'A', 1, 2, 3 ];
let removed = arr.splice(0, 3);
console.log("removed: " + removed);
console.log(arr);Output:
removed: C,B,A
[ 1, 2, 3 ]Related Posts
- ESLint warning, Expected '===' and instead saw '==' eqeqeq
- Javascript - 현재 날짜/시간을 항상 한국 기준으로 가져오기
- Javascript - 문자열 사이에 문자 넣기
- Javascript - 버튼 활성화/비활성화 시키는 방법
- Javascript - 버튼 이름 변경하기
- Javascript - div 안의 내용 가져오기, 변경, 추가, 삭제
- Javascript - <ol>, <ul>에 <li> 동적 추가, 삭제
- Javascript - div 생성, 추가, 삭제 방법
- Javascript - 테이블 행(tr) 숨기기, 보이기
- Javascript - div에 링크 거는 방법
- Javascript - 자식 요소(element) 개수 확인
- Javascript - 요소(element) 복사, 붙여넣기
- Javascript - div에 클릭 이벤트(onclick) 설정 방법
- Javascript - 체크박스 선택/해제 시, 텍스트박스 활성화/비활성화
- Javascript - input 숫자만 입력받도록 설정
- Javascript - 자식 노드 모두 제거
- Javascript - 체크박스 선택, 해제 방법
- Javascript - input text 값 가져오기
- JavaScript - 문자열을 배열(Array)로 변환
- JavaScript - 특정 문자열의 포함 여부 확인 (includes, 정규표현식)
- JavaScript - 문자열 비교 방법, 5가지
- JavaScript - 문자열 바꾸기(replace, 정규식 치환)
- JavaScript - 배열 전체 출력 (for, forEach, for in, for of)
- JavaScript - 한번만 실행되는 함수 (once: true)
- JavaScript - 선택된 checkbox 값 가져오기
- JavaScript - div, 태그 안의 내용 가져오기
- JavaScript - element(버튼, div) 보이기 숨기기
- JavaScript - 숫자를 배열로 변경하는 방법
- JavaScript - 부모, 형제, 자식 element 찾기
- JavaScript - 클래스 이름으로 element 찾는 방법
- JavaScript Array find() 함수
- JavaScript Array splice() 함수
- JavaScript의 contains() 함수
- JavaScript sort() 함수, 예제 소개
- JavaScript - Set 생성 및 초기화