29. 배열 메서드 : slice() 🐾🐾
"배열".slice(시작 위치, [끝 위치])
- 시작 위치에서 종료 위치 값을 추출하여, 새로운 배열을 반환합니다.
끝 위치를 적지 않으면 배열 끝까지 추출하며, 끝 위치를 지정하면 끝 위치 직전까지 추출합니다. - slice()는 위치를 지정할 때 음수를 쓸 수 있습니다. 이때 배열 마지막 요소가 -1이며 시작점까지 뺀 숫자로 계산합니다.
{
['j', 'a', 'v', 'a', 's', 'c', 'r', 'i', 'p', 't'].slice(0); //['j', 'a', 'v', 'a', 's', 'c', 'r', 'i', 'p', 't']
['j', 'a', 'v', 'a', 's', 'c', 'r', 'i', 'p', 't'].slice(1); //['a', 'v', 'a', 's', 'c', 'r', 'i', 'p', 't']
//끝 위치를 적지 않으면 배열 끝까지 추출
['j', 'a', 'v', 'a', 's', 'c', 'r', 'i', 'p', 't'].slice(0, 1); //['j']
['j', 'a', 'v', 'a', 's', 'c', 'r', 'i', 'p', 't'].slice(1, 2); //['a']
['j', 'a', 'v', 'a', 's', 'c', 'r', 'i', 'p', 't'].slice(0, 2); //['j', 'a']
['j', 'a', 'v', 'a', 's', 'c', 'r', 'i', 'p', 't'].slice(5, 10); //['c', 'r', 'i', 'p', 't']
//끝 위치를 지정하면 끝 위치 직전까지 추출합니다.
['j', 'a', 'v', 'a', 's', 'c', 'r', 'i', 'p', 't'].slice(5, -1); //['c', 'r', 'i', 'p']
['j', 'a', 'v', 'a', 's', 'c', 'r', 'i', 'p', 't'].slice(5, -2); //['c', 'r', 'i']
['j', 'a', 'v', 'a', 's', 'c', 'r', 'i', 'p', 't'].slice(-1); //['t']
['j', 'a', 'v', 'a', 's', 'c', 'r', 'i', 'p', 't'].slice(-2); //['p', 't']
['j', 'a', 'v', 'a', 's', 'c', 'r', 'i', 'p', 't'].slice(-3, -1); //['i', 'p']
}
30. 배열 메서드 : splice() 🐾🐾
"배열".splice(시작 위치, [삭제 개수], [요소])
- 배열의 기존 요소를 삭제 또는 교체하거나, 새 요소를 추가하여 배열의 내용을 변경합니다. 이 메소드는 원본 배열 자체를 수정합니다.
{
const arrNum1 = [100, 200, 300, 400, 500];
const result1 = arrNum1.splice(1);
//arrNum1=[100], result1=[200, 300, 400, 500]
const arrNum2 = [100, 200, 300, 400, 500];
const result2 = arrNum2.splice(1, 2);
//arrNum2=[100, 400, 500], result2=[200, 300]
const arrNum3 = [100, 200, 300, 400, 500];
const result3 = arrNum3.splice(1, 4);
//arrNum3=[100], result3=[200, 300, 400, 500]
const arrNum4 = [100, 200, 300, 400, 500];
const result4 = arrNum4.splice(1, 2, "javascript");
//arrNum4=[100, 'javascript', 400, 500], result4=[200, 300]
const arrNum5 = [100, 200, 300, 400, 500];
const result5 = arrNum5.splice(1, 0, "javascript");
//arrNum5=[100, 'javascript', 200, 300, 400, 500], result5=[]
const arrNum6 = [100, 200, 300, 400, 500];
const result6 = arrNum6.splice(0, 4, "javascript");
//arrNum6=['javascript', 500], result6=[100, 200, 300, 400]
const arrNum7 = [100, 200, 300, 400, 500];
const result7 = arrNum7.splice(2, 2, "javascript", "react");
//arrNum7=[100, 200, 'javascript', 'react', 500], result7=[300, 400]
const arrNum8 = [100, 200, 300, 400, 500];
const result8 = arrNum8.splice(-2, 2, "javascript", "react");
//arrNum8=[100, 200, 300, 'javascript', 'react'], result8=[400, 500]
}