从Angular Array中删除元素

时间:2016-05-06 09:03:56

标签: javascript jquery angularjs angularjs-scope

我有一个 5个元素的角度数组。

$scope.details;

$scope.details包含以下元素[id, name, points]

现在使用循环我为每个元素添加了一个新元素$scope.details

for(var i = 0; i < $scope.details.length; i++){
  $scope.details[i].check = 'f';
}

因此,元素是[id, name, points, check];

现在,执行逻辑后,我需要从$scope.details的所有5个元素中删除检查。

3 个答案:

答案 0 :(得分:2)

你可以这样使用delete

for(var i=0;i<$scope.details.length;i++){
  delete $scope.details[i].check;
}

或者使用稍微更新的API

$scope.details.forEach(function(item){
  delete item.check;
}

答案 1 :(得分:2)

好吧,您的代码没有向check数组中的每个元素添加details属性。为此,请将代码更新为:

for(var i=0; i<$scope.details.length; i++){
  $scope.details[i].check = 'f';
}

要从每个项目中删除检查元素,请使用for循环并删除:

for(var i=0; i<$scope.details.length, i++){
  delete $scope.details[i].check
}

在您的代码段中,您将check属性添加到$scope.details,因此您可以将其删除而不用for循环

delete $scope.details.check

答案 2 :(得分:0)

我们可以通过索引/ id并在服务js文件中写入删除功能,如下所示:

RemoveFromCart(indexP){
    this.items.splice(indexP, 1);   
  }