2012-01-17 5 views
1

키 집합이 있습니다 (예 : 2,3,4,101,102,454).JS/Jquery - 키로 배열에서 여러 요소 제거

배열에서 이러한 키가있는 요소를 제거하고 싶습니다. 한 번에 모두 제거 할 수 있습니까?

나는 for 루프를 통해 반복하고, 하나 요소를 제거하기 위해 splice 를 사용하여 시도,하지만 모든 요소를 ​​제거되지 않습니다 - 그것은 내가 통해 반복하고있어 배열을 수정하기 때문에 내 생각이다.

+0

PLS 넣어 코드를 제거하려면 인덱스를 정렬 할 수 있습니다. –

답변

10

뒤로 이동하십시오.

0 -> n에서 반복 할 경우 방금 제거한 항목 뒤에 오는 요소의 색인을 수정합니다.

뒤로 이동하면 n> 0에서 그 문제가 없습니다.

1

당신은 더 나은 도움을 최대 1 세대

// 배열 = 배열, 제거 = [2,3,4,101,102,454]

var i=0, L=removal.length; 
removal.sort(function(a,b){return b-a}); 
while(i< L){ 
    array.splice(removal[i],1); 
}