使用AngularJs

时间:2015-09-21 06:31:43

标签: javascript arrays angularjs

我有一个对象数组。我想从该数组中删除多个对象。

我使用下面的代码工作得非常好,但我需要与你们核实是否有更好的方法可以做到这一点或罚款。

我用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);
                }
            }
        });
        }

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
};