有没有办法从数组中删除一个对象?
(可能不使用 array.filter 或创建一个新数组)
例子:
var arr:Array= new Array();
//create dummy objs
for (var i:uint=0; i < 10; i++){
var someObject:SomeClassObject = new SomeClassObject();
someObject.Name ="Amit"+ i;
someObject.Site="http://www.mysite.com/"+i;
//...many more props
arr.push(someObject);
}
//
removeElement("Amit4",arr);
removeElement("Amit8",arr);
//...so on so forth
目前我正在使用 array.splice() 删除对象
for (var i:Number=0; i < arr.length; i++)
{
if (arr[i].Name == element)
{
arr.splice(i, 1);
}
}
我想以这样的方式编写 removeElement,以便我可以将它用于不同类型的对象。
目前removeElement变得依赖于实现。
假设我想从给定文件名的文件数组中删除一个文件。我必须通过更改标准再次编写“removeElement”。
也可能我可以改变标准吗?例子 :
arr= removeElement("Site","http://www.mysite.com/6",arr)
将从“站点”属性等于“http://www.mysite.com/6”的 arr 中删除对象(使用上面的示例)
ie. removeElement(criteria:object,criteria_value(s):object,arr)
谢谢大家。