본문 바로가기

언어/javascript

javascript : array 객체의 remove사용법

반응형

splice 함수는 (a,b,c) 또는 (a,b)의 매개변수를 가진다.

a번째 항목에 b개수만큼 제거라는 뜻을 가지고 있고 c는 변경하거나 추가 또는 삭제할 변수를 의미한다.

Array.prototype.remove = function (index) {this.splice(index,1);}

var array = [52, 273, 103, 32, 274, 129];

for(var i =0; i< array.length;i++){
    if(array[i] > 100){
        array.remove(i);
    }
}

console.log(array);​
[ 52, 103, 32, 129 ]

다음과 같은 방법으로는 잘제거가 되지않는다.. 이유는 배열의 요소가 제거되면서 인덱스가 앞으로 당겨지기 때문이다.

 

이러한 문제를 해결하기위해서는 배열을 뒷부분 부터 간섭해 나가면된다.

 

Array.prototype.remove = function (index) { this.splice(index, 1); }

var array = [52, 273, 103, 32, 274, 129];

for (var i = array.length - 1; i >= 0; i--) {
    if (array[i] > 100) {
        array.remove(i);
    }
}

console.log(array);
[ 52, 32 ]
반응형

'언어 > javascript' 카테고리의 다른 글

javascript: forEach  (0) 2020.12.16
javascript : Date 객체  (0) 2020.12.16
javascript : array sort 방법  (0) 2020.12.15
javascript : HTML 관련 메서드  (0) 2020.12.15
javascript : String  (0) 2020.12.15