slice()는 처음부터 끝 전까지의 복사본을 새로운 배열 객체로 반환한다. 원복배열은 수정되지 않는다.
slice(start,[end])
-start 추출 시작점에 대한 인덱스
-undefined 인경우 :0부터 slice
-음수를 지정한 경우 :배열의 끝에서부터의 길이를 나타냄. slice(-2)는 배열의 마지막 2개 요소 추출
-배열의 길이와 같거나 큰 수를 지정한 경우 : 빈배열
-end: 추출을 종료할 기준 인덱스. (end를 제외하고 그 전까지의 요소만)
- 지정하지 않을 경우: 배열의 끝까지 slice
- 음수: 배열의 끝에서부터의 길이. slice(2, -1)하면 세번째 부터 끝에서 끝에서 두번째 요소까지 추출.
- 배열의 길이와 같거나 큰 수를 지정한 경우 : 배열의 끝까지 추출.
-반환값 : 추출한 요소를 포함한 새로운 배열.
var arr = [1,2,3,4,5,6,7.8.9.10]
var arr1 = arr.slice(3,5); 4,5
var arr2 = arr.slice(undefined, 5); 12345
var arr3 = arr.slice(-3) 8910
var arr4 = arr.slice(-3,9) 89
var arr5 = arr.slice(10); []
var arr6 = arr.slice(4); 5678910
var arr7 = arr.slice(undefined); 12345678910
var arr8 = arr.slice(5,,-4) 6
var arr9 = arr,slice(2,15) 2345678910
splice(): 배열의 기존 요소를 삭제 또는 교체하거나 새 요소를 추가하여 배열의 내용을 변경한다. 원본 배열 자체를 수정한다.
splice(start,[deleteCount[,item1[item2[]]]])
start:배열의 변경을 시작할 인덱스
-음수를 지정한 경우: 배열의 끝에서부터 요소를 센다
-배열의 길이보다 큰수 : 실제 시작 인덱스는 배열의 길이로 설정
-절대값이 배열의 길이보다 큰경우 :0으로 셋팅
deleteCount: 배열에서 제거할 요소의 수
-생략: 값이 array.length -start 보다 큰 경우: start 부터의 모든 요소를 제거
-0이하의 수 : 어떤 요소도 제거되지 않는다.
item1,item2: 배열에 추가할 요소
-지정하지 않는 경우: splice()는 요소 제거만 수행한다.
반환값: 제거한 요소를 다음 배열
var arr = [1,2,3,4,5,6,7,8,9,10,11,12];
var arr1 = arr.splice(10,2,'a','b','c');
console.log(arr); 123456678910 a bc
console.log(arr1); 11 12
var arr = [1,2,3,4,5,6,7,8,9,10,11,12];
var arr1 =arr.splice(-6,4);
console.log(arr) 123456 11 12 뒤엣 ㅓ6번째부터인 7부터 4개 요소 삭제
console.log(arr1) 78910
var arr = [1,2,3,4,5,6,7,8,9,10,11,12];
var arr1 = arr.splice(-13,1); 절대 값이 배열의 길이보다 크면 0으로 셋팅, 0번째 요소 1개의 요소를 삭제함으로 23456789101112
console.log(arr1) 1
var arr = [1,2,3,4,5,6,7,8,9,10,11,12];
var arr1 = arr.splice(3);
console.log(arr) 123 지정한 곳부터 끝까지 모두제거
console.log(456789101112
var arr2 = arr.splice(6,4)
console.log(arr1) 456789
console.log(arr2) 10 11 12
var arr = [1,2,3,4,5,6,7,8,9,10,11,12];
var arr1 = arr.splice(5,0,'add');
console.log(arr); 12345 add 6789101112
console.log(arr1); []
deleteCount 가 0이거나 0보다 작은 수이면 어떤 요소도 삭제되지 않는다.
'자바스크립트' 카테고리의 다른 글
JS Live(라이브) Collection vs Static(정적) Collection (0) | 2020.06.09 |
---|---|
JS Toggle (0) | 2020.06.09 |
JS DOM (0) | 2020.06.08 |
JS 생성자 함수, 프로토타입 체인 (0) | 2020.06.08 |
JS this!!!! (0) | 2020.06.04 |