繁体   English   中英

使用AngularJs从数组中删除对象的最佳方法

[英]Best way to remove the object from an array using 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);
                }
            }
        });
        }

您可以使用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
};

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM