29. slice()

"배열".slice(시작 위치, [끝나는 위치])
  • 시작 위치에서 종료 위치 값을 추출하여, 새로운 배열을 반환합니다.
['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(2); //['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(0, 3); //['j', 'a', 'v']
['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); //['i, 'p','t']
['j', 'a', 'v', 'a', 's', 'c', 'r', 'i','p','t'].slice(-3, -1); //['i', 'p']
['j', 'a', 'v', 'a', 's', 'c', 'r', 'i','p','t'].slice(-3, -2); //['i']
"javascript".slice(0); //javascript
"javascript".slice(1); //avascript
"javascript".slice(2); //vascript
"javascript".slice(0, 1); //j
"javascript".slice(1, 2); //a
"javascript".slice(0, 2); //ja
"javascript".slice(0, 3); //jav
"javascript".slice(5, 10); //cript
"javascript".slice(5, -1); //crip
"javascript".slice(5, -2); //cri

30. splice()

"배열".splice(시작 위치, [삭제 갯수], 요소)
  • 배열의 기존 요소를 삭제 또는 교체하거나 새 요소를 추가하여 배열의 내용을 변경합니다.
const arrNum1 = [100, 200, 300, 400, 500];
const result1 = arrNum1.splice(1);

console.log(arrNum1); //[100]
console.log(result1); //[200, 300, 400, 500]

const arrNum2 = [100, 200, 300, 400, 500];
const result2 = arrNum2.splice(1, 2);

console.log(arrNum2); //[100, 400, 500]
console.log(result2); //[200, 300]

const arrNum3 = [100, 200, 300, 400, 500];
const result3 = arrNum3.splice(1, 4);

console.log(arrNum3); //[100]
console.log(result3); //[200, 300, 400, 500]

const arrNum4 = [100, 200, 300, 400, 500];
const result4 = arrNum4.splice(1, 2, "javascript");

console.log(arrNum4); //[100, 'javascript', 400, 500]
console.log(result4); //[200, 300]

const arrNum5 = [100, 200, 300, 400, 500];
const result5 = arrNum5.splice(1, 0, "javascript");

console.log(arrNum5); //[100, 'javascript', 200, 300, 400, 500]
console.log(result5); //[]

const arrNum6 = [100, 200, 300, 400, 500];
const result6 = arrNum6.splice(0, 4, "javascript");

console.log(arrNum6); //['javascript', 500]
console.log(result6); //[100, 200, 300, 400]

const arrNum7 = [100, 200, 300, 400, 500];
const result7 = arrNum7.splice(2, 2, "javascript", "react");

console.log(arrNum7); //[100, 200, 'javascript', 'react', 500]
console.log(result7); //[300, 400]

const arrNum8 = [100, 200, 300, 400, 500];
const result8 = arrNum8.splice(-2, 2, "javascript");

console.log(arrNum8); //[100, 200, 300, 'javascript'] 마이너스는 -1부터 셈
console.log(result8); //[400, 500]