ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [JS] 배열의 요소 삭제
    JavaScript 2022. 10. 1. 18:01
    반응형
    SMALL

     

            배열 아이템 삭제

     

     

     

     

     

     

    Splice() 메서드와 delete를 이용한 기초 삭제 

    • splice() : 배열 아이템을 삭제하면서 배열길이가 줄어든다. 배열 아이템이 완전히 삭제된다
      • array.splice(index, 1);

     

    • delete : 배열 아이템을 삭제하지만, 배열이 차지하는 자리는 그대로 유지된다. 빈 배열 아이템이 유지 되며, 배열 길이도 변하지 않는다. 
      • delete array[index];

     

     

    index위치 배열 아이템 1개 삭제. 배열 길이가 줄어듬

    
    let array = [1,2,3,4,5,6,7,5];
    let index = 3, number = 5;
    
    // index위치 배열 아이템 1개 삭제. 배열 길이가 줄어듬
    array.splice(index, 1);
    console.log(array) // [1, 2, 3, 5, 6, 7, 5]
    
    for(let i = 0; i < array.length; i++){
    	if(array[i] === number) {
        	array.splice(i, 1);
        }
    }
    console.log(array); // [1, 2, 3, 4, 6, 7]
    
    
    --------------------------------------------------
    // index위치 배열아이템 삭제, 배열길이가 유지됨
    delete array[index];
    console.log(array); // [1, 2, 3, undefined, 5, 6, 7, 5]
    
    // 배열아이템은 유지하고 값만 undefined초기화
    array[index-1] = undefined;
    console.log(array); // [1, 2, undefined, 4, 5, 6, 7, 5]
    
    // 삭제한 배열 아이템의 값을 반환
    let value = array.splie(index, 1)[0];
    console.log(value); // [4]

     

     

     

     

     

     

     

    • Filter() 메서드를 이용한 아이템 삭제
    // filter()메서드를 이용하여 value값 2가 없는 새 배열 만들기
    let value = 2;
    let arr = [1, 2, 3, 4, 5, 6, 7];
    
    arr = arr.filter(item => item !== value);
    
    console.log(arr); // [1, 3, 4, 5, 6, 7]
    
    
    // filter()메서드를 이용하여 여러개의 배열 아이템을 한번에 삭제
    let value = [2, 3, 4];
    let arr = [1, 2, 3, 4, 5, 6, 7];
    arr = arr.filter(item => !value.includes(item));
    console.log(arr); // [1, 4, 5, 6, 7]

     

     

     

     

     

     

    • 배열 양쪽 끝에 있는 아이템 삭제
    // shift()메서드를 이용하여 첫번째 아이템을 삭제 
    let arr = [1, 2, 3, 4];
    arr.shift(); // return 1
    console.log(arr); [2, 3, 4];
    
    
    // length를 이용하여 마지막 배열아이템 삭제 
    // "arr.length = arr.length - 1"과 같은 수식을 사용할 수 있으며, 
    // 맨 마지막 배열 아이템을 삭제하는 것과 같은 효과를 가져온다.
    let arr = [1, 2, 3, 4, 5, 6, 7];
    arr.length = 5; 
    console.log(arr); [1, 2, 3, 4, 5, 6];
    반응형
    LIST

    댓글

Designed by Tistory.