jQuery에 배열이 있습니다. 선택한 필드에서 특정 값을 가진 모든 요소를 제거하고 싶습니다. 루프와 스플 라이스를 할 때 오류가 발생합니다. 내가 오류 얻을 이유jQuery 배열에서 요소를 제거하면 정의되지 않은 오류가 발생합니다.
$.each(arr,function(idx,val) {
if (arr[idx].field == "something") {
arr.splice(idx,1);
}
});
는 이해 :
Uncaught TypeError: Cannot read property 'field' of undefined
을 ...하지만 문제가 가장 좋은 방법을 파악하는 데 문제가 있습니다. 약간의 연구는 grep이 올바른 접근 방법 일 수 있다는 신호를 보여줍니다. 어떤 제안?
* 결국
답변의 *이 내가 한 일이다. 누구나 더 나은 답변을 갖고 계신가요? :
for (var idx=0; idx<arr.length; idx++)
{
if (arr[idx].field == "something") {
arr.splice(idx,1);
idx--;
}
}
배열 크기가 감소함에 따라 다음과 같이 보입니다. – Andrew
사용해보기. 그것은 오류없이 잘 작동합니다. – j08691
"필드"는 내 배열의 실제 필드에 대한 이름입니다. 필수 항목입니다. – Andrew