检查一个对象中的项目是否存在于另一个对象中(使用下划线)
Check if item from one object exists in another (using underscore)
我正在尝试使用下划线比较 2 个对象,特别是我正在尝试比较"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);
}
}
其中$scope.storeTempName
是对象 B,$scope.types
是对象 A。因此,如果$scope.types
有$scope.storeTempName
没有的东西,请将其删除(按 id 和 typyId 跟踪类型)。
我有第一次尝试,但它只会删除第一次。我的猜测是,这是因为我从 0 ++ 循环,当我删除第一个索引时索引正在发生变化,因此拼接针对的是虚假项目。不过我不确定,可以使用一些帮助。感谢您的阅读!
只需使用 _.filter。
$scope.types = _.filter($scope.types, function (type) {
return _.some($scope.storeTempName, function (it) { return it.id == type.typeId })
})
相关文章:
- AngularJS&JSON-从Previous&下一个对象
- 如何从另一个带下划线的数组中筛选带元素的数组
- 筛选下划线中的对象
- 使用下划线将键和值的两个数组合并到一个对象中
- 如何将id数组与带下划线的对象数组嵌套属性进行比较
- 将一个对象转换为一个单键对象数组(带下划线?)
- Javascript Regexp :如果一个字母与一个数字相邻,请添加下划线
- 使用下划线.js筛选 JS 对象
- 下划线,将对象列表转换为对象值数组
- 下划线.js,根据键值删除对象数组中的重复项
- 下划线.js,从一个对象中获取两个项目并添加到顶部
- 检查一个对象中的项目是否存在于另一个对象中(使用下划线)
- 如何在一个带下划线的js模板中插入多个数据源
- 从一个Array对象中提取关键值,并使用下划线javascript从其他对象中提取值进行筛选
- 使用下划线更改数组中对象的一个属性
- 结合2 MongoDB集合对象下划线或其他东西
- 使用下划线替换来自另一个对象的对象键
- 哪些对象在JavaScript有一个.length属性?(又名为什么下划线_.每个都把我的函数对象当作数组?)
- 有可能使用下划线来创建一个带有变量的Javascript对象吗?
- 将一个对象分割成多个对象,并将它们推入javascript中的数组中(可能使用下划线/lodash)