我想遍历对象的数组,并根据某些条件删除其中的一些。如何通过迭代对象数组来删除某些项目?
我使用拼接删除项目,以保持项目的有序计数。
然后每次删除项目我会减少计数。
但由于某些原因它永远不会奏效:
var arr=[{img:1},{img:2},{img:3},{img:4}];
for (var i=0, count= arr.length; i < count;) {
if (this.arr[i].img==3) {
this.arr.splice(i,1);
count--;
}else i++
};
alert(JSON.stringify(arr));
...任何想法?
我认为['Array.filter'(http://www.tutorialspoint.com/javascript/array_filter.htm)是你所需要的 – mgibsonbr 2012-08-14 01:31:45
我不知道'Array'的事情将在IE8工作。我会仔细看看的。 – Anonymous 2012-08-14 01:32:57
顺便说一句你的方法对我来说工作得很好。唯一的问题是'this.arr'(你是不是只是'arr',因为你用'var'声明了它?) – mgibsonbr 2012-08-14 01:34:46