Javascript 检查一个对象中的项是否存在于另一个对象中(使用下划线)

Javascript 检查一个对象中的项是否存在于另一个对象中(使用下划线),javascript,angularjs,underscore.js,Javascript,Angularjs,Underscore.js,我试图用下划线来比较两个对象,特别是我试图比较“id”的键/值(因为里面的其他东西会改变)。我基本上只想检查对象A是否有对象B没有的项,将其从对象A中删除。以下是我的尝试: for(var c=0;c<$scope.types.length;c++){ var real = _.some($scope.storeTempName, function(it) { return it.id == $scope.types[c].typeId; });

我试图用下划线来比较两个对象,特别是我试图比较“
id
”的键/值(因为里面的其他东西会改变)。我基本上只想检查对象A是否有对象B没有的项,将其从对象A中删除。以下是我的尝试:

for(var c=0;c<$scope.types.length;c++){
    var real = _.some($scope.storeTempName, function(it) {
        return it.id == $scope.types[c].typeId; 
    });
    if(real){
    }else{  
        $scope.types.splice(c,1);
    }
}
for(var c=0;c只需使用u.filter

$scope.types = _.filter($scope.types, function (type) {
    return _.some($scope.storeTempName, function (it) { return it.id == type.typeId })
})

如果您只将
$scope..types
分配给某个对象,代码的可读性将显著提高。是否需要使用
.splice()
因为angular的数据绑定?你可以使用一个过滤器,否则。@sacho我不需要使用splice no,你能根据两个不同的键过滤两个对象吗?