Javascript TypeError:undefined在删除数组项时不是函数

Javascript TypeError:undefined在删除数组项时不是函数,javascript,jquery,arrays,angularjs,Javascript,Jquery,Arrays,Angularjs,我试图在用户单击按钮时使用Javascript和Angular Js从数组中删除元素 当数组中有2个或更多元素时,它可以正常工作,但不幸的是,当要删除最后一个数组时,我会遇到这个错误 TypeError: undefined is not a function at k.$scope.delete 这是我用来删除数组元素的代码 $scope.delete = function(item){ var index = $scope.items.indexOf(item); $s

我试图在用户单击按钮时使用Javascript和Angular Js从数组中删除元素

当数组中有2个或更多元素时,它可以正常工作,但不幸的是,当要删除最后一个数组时,我会遇到这个错误

TypeError: undefined is not a function
at k.$scope.delete
这是我用来删除数组元素的代码

  $scope.delete = function(item){
    var index = $scope.items.indexOf(item);
    $scope.items.splice(index,1);
  };
这里的工作示例

这对我很有用

将“删除”按钮更改为:

<td><button class="btn btn-sm btn-danger" ng-click="delete($index)">Remove</button>
$scope.delete = function(index){
    $scope.items.splice(index,1);
  };

$scope.delete=function(item){delete$scope.items[item.id];}
在您的工作示例中,
array
是javascript普通对象,
array.items
也是javascript普通对象。在您的工作示例中,用您自己的代码替换
delete$scope.items[item.id]
,它对我有效,没有任何错误。@HimanshuBhandari是的,它只在剩下一个项目时有效,但如果有多个项目,并且没有删除任何项目,它会给出一个错误。我的代码在有多个项目时有效,它会删除所有项目,直到最后一个项目离开,但在只有一个项目时会中断。不知道我是否遗漏了什么,但我可以删除所有项目。