根据属性删除对象数组里的相应对象
比如一个卡列表,要在这个列表中删除其中一项,删除后不重新调获取接口,而是直接前端更新页面,比如用vue只要改变开始卡列表的model就会自动渲染页面。
这个卡列表的model自然是一个对象数组[{cardid:001,cardno:"432434234"},{cardid:002,cardno:"546436"},...],cardid是唯一的,每一项都不一样,删除的时候就根据这个属性来删除。
下面就是根据属性从对象数组里删除对应对象的方法:(一次只能删一个)
removeByValue: function(arr, attr, value) { //数组,属性,属性值 var index=0; for(var i in arr){ if(arr[i][attr]==value){ index=i; break; } } arr.splice(index,1); }
使用这个方法的时候,只要在调用删除接口的success回调里这样写
Util.removeByValue(that.cards,"cardid",cardId); //卡列表数组,属性,被删卡的属性值