我使用ng-change指令来获取更改的对象。当我得到它时,我必须检查是否存在于另一个对象数组中,如果是,我必须从中删除它。 我能做什么?我尝试使用indexOf,但它没有用。
//@Param ObjectItem: change object from UI using ng-change
$scope.itemValue = function (ObjectItem) {
//collection of required items
var requiredItem = dataPublicationService.getRequired();
//check if item exist in collection. DIDN'T WORK!
if(requiredItem.indexOf(publi) !== -1){
//get found index
var idx = requiredItem.indexOf(publi);
//delete founded item.
requiredItem.splice(idx, 1);
}
};
我可以实施哪些其他解决方案?
答案 0 :(得分:1)
indexOf
函数不会从数组中删除,只是找到给定对象的索引。您可以考虑filtering the array并测试匹配,而不是依靠indexOf
来查找匹配的对象。
找到记录后,您需要使用Array#splice
等实际更改数组。