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']
}

30. splice( )

"배열".splice(시작위치, [삭제 개수], [요소])

배열의 기존 요소를 삭제 또는 교체하거나 새 요소를 추가하여 배열의 내용을 변경합니다.

{
    //원본파일이 수정되어 return과 결과 값이 다름
    //result는 삭제된 값
    const arrNum1 = [100, 200, 300, 400, 500];
    const result1 = arrNum1.splice(1);        

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    // console.log(result8)    // [400, 500]
    // console.log(arrNum8);   //[100, 200, 300,"javascript"]
}