Angularjs - 从json数组中删除搜索对象

时间:2016-08-12 15:20:45

标签: javascript angularjs json

我使用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);
    }
};

我可以实施哪些其他解决方案?

1 个答案:

答案 0 :(得分:1)

indexOf函数不会从数组中删除,只是找到给定对象的索引。您可以考虑filtering the array并测试匹配,而不是依靠indexOf来查找匹配的对象。

找到记录后,您需要使用Array#splice等实际更改数组。