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,你能根据两个不同的键过滤两个对象吗?