当前位置: 首页 > 知识库问答 >
问题:

过滤数组-删除存在于另一个数组中的值[重复]

顾赞
2023-03-14

我有这个数组$scope。userEventData。选择了平板,还有另一个数组$scope。flatsArray

我想从$scope.userEventData.selectedFlats中删除存在于$scope.flatsArray中的值。

我已经这样做了:

$scope.userEventData.selectedFlats = $scope.userEventData.selectedFlats.filter(function(f){
    return !$scope.someObj.flatsArray.some(function(v){
                return v.indexOf(f) >= 0;
    })
})

但我得到一个错误说v.index不是一个函数

共有3个答案

司业
2023-03-14

发布数组可能会有所帮助,这样它们就可以在答案中使用,但是,您可以这样做。

for (var i = 0; i < $scope.userEventData.selectedFlats; i++) {
    var index = $scope.flatsArray.indexOf($scope.userEventData.selectedFlats[i]);
    if ( index > -1 ) {
        $scope.userEventData.selectedFlats.splice(index, 1);
    } 
}

这将遍历selectFlats数组中的每个项,并在flatsArray中找到该项的索引,然后从中删除该项(如果存在)。

逄岳
2023-03-14

选择一些indexOf。举个例子

$scope.userEventData.selectedFlats = $scope.userEventData.selectedFlats.filter(function(f){
    return $scope.someObj.flatsArray.indexOf(f) === -1
})

$scope.userEventData.selectedFlats = $scope.userEventData.selectedFlats.filter(function(f){
    return !$scope.someObj.flatsArray.some(function(item) { return item === f; })
})
彭朝
2023-03-14

flatsArray中的v。有些回调函数返回单个项,而不是一个项数组。因此,您可以直接比较这些值,而不是检查的索引。

你需要这样

$scope.userEventData.selectedFlats = $scope.userEventData.selectedFlats.filter(function(f){
    return !$scope.someObj.flatsArray.some(function(v){
                return v == f;
    })
})

 类似资料:
  • 现在我有了新阵列 现在,现有的_array和新的_array都有名称值“b”,我希望它从新数组中移除

  • 我似乎找不到解决这个问题的方法,你如何从基于数组的值的数组中删除项?就像你移除一个一样? 我需要删除一些s: 这将返回一个数组,但感觉有些不对劲。若要删除一个项目,那个就可以了,但通过ID数组从数组中删除项目,我不知道从哪里开始。 在循环中,我试图使用,但un定义在数组中:: 到目前为止,React表示在循环期间无法更新状态。基于,如何使一个项目处于状态?

  • 问题内容: 我有两个NumPy数组,例如: 和一个过滤器数组,例如: 我如何才能得到一个新的numpy数组,其中仅包含其中相同索引为True的值?就我而言:。 根据公认的解决方案(具有不同的值): 问题答案: NumPy支持布尔索引 假设 和是NumPy数组而不是Python列表(如问题所示)。您可以使用进行转换。

  • 如何从另一个数组中删除数组的元素?我有第一个数组[“a”“b”“c”]。以及第二阵列[“a”、“e”]、[“e”、“b”、“c”]、[“a”、“c”]。 如何从第二个数组中删除第一个数组的元素? 结果,得到[["e"],["e"], []].

  • 问题内容: 说我有这些二维数组A和B。 如何从B中删除A中的元素。(集合论中的补语:AB) 更准确地说,我想做这样的事情。 问题答案: 基于this solution对,这里是用更少的内存占用与NumPy基础的解决方案,并与大型阵列工作时,可能是有益的- 样品运行- 在大型阵列上的运行时测试- 具有基础解决方案的时间- 基于更少内存占用量的定时解决方案- 进一步提升性能 通过将每一行视为索引元组来

  • 问题内容: 我想删除原始数组(是)中的特定元素。我那个数组,并返回新的数组。但这不会影响此代码中的原始数组。我如何轻松地从原始数组中删除那些元素? 问题答案: 该方法不仅用于收集元素集,而且还用于收集元素集。如果您想通过评估条件来获得一项,那么您还有其他三种选择。,并因此只有当你想对多个项目的操作,你应该考虑使用过滤功能。就需要完成的工作而言,没有一个答案是完整的。他们使用过滤器功能隔离一个集合(