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
    "javascript".slice(-1)           //t
    "javascript".slice(-2)           //pt
    "javascript".slice(-3)           //ipt
    "javascript".slice(-3, -1)       //ip
    "javascript".slice(-3, -2)       //i
}

30. splice()

"배열", splice(시작위치, [삭제 계수], [요소])
  • 배열의 기존 요소를 삭제 또는 교체하거나 새 요소를 추가하여 배열의 내용을 변경합니다.
{
    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"]
}
`