나는 array = []
이고 객체를 포함하고 있습니다 ... obj, obj, obj
. obj two
을 제거해야하지만 인덱스를 모른다 ... obj를 어떻게 제거 할 수 있습니까? 객체의 이름도 같습니다. 나는 그것을 희망배열에서 객체를 제거
2
A
답변
4
는 당신을 도와줍니다 :
function removeByElement(array,obj) {
for(var i=0; i<array.length;i++) {
if(array[i]==obj) {
array.splice(i,1);
break;
}
}
}
편집 : 루프를 파괴. 인덱스를 모르는 경우
1
function removeObject(obj, arr) {
for (var i = 0; i < arr.length; i++) {
if (arr[i] === obj) {
arr.splice(i, 1);
break;
}
}
}
1
, 모든 요소를 반복하고 그들이 당신을 찾아 한 경우 각을 확인해야하고 delete
을.
myarray = myarray.filter(function(val, index, a) {
return (val !== obj);
});
Array.filter
당신이 ES5이없는 경우 버전이 사용하기 위의 링크 된 MDN 페이지를 참조하여
var len = your_array.length;
for(var i=0; i<len;i++){
if(typeof(your_arry[i])=='classOfTypeYouLookFor'){// OR if(your_array[i].property_of_class && your_array[i].property_of_class==some_specific_value){
delete(your_arry[i]);
}
}
+1
이것은 배열에 구멍이 남을 것입니다. –
+0
질문에 대한 오해가있을 수 있습니다. –
4
이 작업을 수행하는 ES5의 방법입니다.
기술적으로 이것은 원래 배열을 수정하는 것이 아니라 새로운 배열을 만듭니다. 그러나 splice
은 다른 매치에서 제시 한 모든 인덱스의 번호를 다시 매겨 야하므로 다른 해답에서 제안 된대로 그리 효율적이지 않습니다. 둘 이상의 매치가있을 경우 계속 반복됩니다.
관련 문제
- 1. iphone- 배열에서 객체를 제거 할 수 없습니다.
- 2. nsarray ar nsmutable 배열에서 제거 된 객체를 사용하려고하면 어떻게됩니까?
- 3. 배열에서 다중 객체 제거
- 4. PHP 배열에서 값 제거
- 5. 배열에서 값을 제거 하시겠습니까?
- 6. 배열에서 요소 제거
- 7. 중첩 배열에서 중복 제거
- 8. 배열에서 정수를 제거
- 9. jQuery 배열에서 항목 제거
- 10. 배열에서 객체를 어떻게 정렬합니까?
- 11. Ruby에서 동일한 객체를 제거 하시겠습니까?
- 12. Ruby 배열에서 객체를 삭제하는 간단한 질문
- 13. 다차원 배열에서 중복 키 제거
- 14. 배열에서 배열 번호의 객체를 반환
- 15. 배열에서 jQuery 객체를 만드는 방법은 무엇입니까?
- 16. ArrayList에서 객체를 제거 하시겠습니까?
- 17. PHP : 연관 배열에서 참조로 객체 제거
- 18. 자바 스크립트 배열에서 임의의 요소 제거
- 19. uiview에서 모든 객체를 제거 하시겠습니까?
- 20. Google지도의 배열에서 마커 제거 v3.0 문제
- 21. 비어있는 배열 배열에서 모든 항목 제거
- 22. C#의 ParameterInfo 배열에서 요소 제거
- 23. vb.net 2 차원 배열에서 행 제거
- 24. 루비의 배열에서 후행 빈 값 제거
- 25. 바이트 배열에서 첫 번째 16 바이트 제거
- 26. 경우 현재 PHP 배열에서 값을 제거
- 27. 배열에서 빈 항목을 어떻게 제거 하시겠습니까?
- 28. 프로토 타입의 배열에서 함수 객체를 실행하는 방법
- 29. 2 개의 배열에서 일치하지 않는 객체를 당기기
- 30. NSMutableArray의 -removeLastObject가 객체를 풉니 다?
이것은 실제로'===' – Alnitak
오를 사용해야하며 두 개 이상 연속 일치하는 요소가 있으면 실패합니다. – Alnitak
이것은 나쁜 접근입니다. 항목을 지우면'i ++'에서 다음 항목을 건너 뜁니다. 항목을 삭제하면 중단되거나 역순으로 배열을 탐색합니다. –