Javascript TypeError:undefined在删除数组项时不是函数
我试图在用户单击按钮时使用Javascript和Angular Js从数组中删除元素 当数组中有2个或更多元素时,它可以正常工作,但不幸的是,当要删除最后一个数组时,我会遇到这个错误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
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是的,它只在剩下一个项目时有效,但如果有多个项目,并且没有删除任何项目,它会给出一个错误。我的代码在有多个项目时有效,它会删除所有项目,直到最后一个项目离开,但在只有一个项目时会中断。不知道我是否遗漏了什么,但我可以删除所有项目。