我有一个对象数组。我想从该数组中删除多个对象。
我使用下面的代码工作得非常好,但我需要与你们核实是否有更好的方法可以做到这一点或罚款。
我用angularjs和js完成了它。
Orders
是执行操作的主要数组。
Order
是要从主数组Orders
$scope.Order = {};
$scope.removeOrders = function () {
angular.forEach($scope.Order, function (data) {
for (var i = $scope.Orders.length - 1; i >= 0; i--) {
if ($scope.Orders[i].Name == data.Name) {
$scope.Orders.splice(i, 1);
}
}
});
}
答案 0 :(得分:1)
使用filter
:
$scope.removeOrders = function () {
$scope.Orders = $scope.Orders.filter(function(order){
return !$scope.Order.some(function(remove){
return remove.Name === order.Name;
});
}); // remove the order from $scope.Orders, if it's name is found in $scope.Order
};