Javascript 从对象中删除项
我真的很难从我的对象中删除一个项目。该对象随机生成了关键点,所以这会让它变得更难,但我无法使用Javascript 从对象中删除项,javascript,angularjs,arrays,oop,Javascript,Angularjs,Arrays,Oop,我真的很难从我的对象中删除一个项目。该对象随机生成了关键点,所以这会让它变得更难,但我无法使用splice从对象中删除该项。。。我不知道为什么 这是我的对象:$scope.todos.trackers 这就是$scope.todos的外观: function removeIndividualTracker(uid, item) { angular.forEach($scope.todos.trackers, function(key, value) { angular.f
splice
从对象中删除该项。。。我不知道为什么
这是我的对象:$scope.todos.trackers
这就是$scope.todos
的外观:
function removeIndividualTracker(uid, item) {
angular.forEach($scope.todos.trackers, function(key, value) {
angular.forEach(key, function(el, val) {
console.log(key)
console.log(item)
if(key == item) {
console.log($scope.todos)
console.log($scope.todos.trackers)
$scope.todos.trackers.splice($scope.todos.trackers.indexOf($scope.todos.trackers[value]), 1);
}
});
});
}
这就是对象的跟踪器部分的外观:
function removeIndividualTracker(uid, item) {
angular.forEach($scope.todos.trackers, function(key, value) {
angular.forEach(key, function(el, val) {
console.log(key)
console.log(item)
if(key == item) {
console.log($scope.todos)
console.log($scope.todos.trackers)
$scope.todos.trackers.splice($scope.todos.trackers.indexOf($scope.todos.trackers[value]), 1);
}
});
});
}
因此,为了尝试删除tracker
对象中的一个项目(例如最后一个项目`note:“finally”,值:200),我的代码如下所示:
function removeIndividualTracker(uid, item) {
angular.forEach($scope.todos.trackers, function(key, value) {
angular.forEach(key, function(el, val) {
console.log(key)
console.log(item)
if(key == item) {
console.log($scope.todos)
console.log($scope.todos.trackers)
$scope.todos.trackers.splice($scope.todos.trackers.indexOf($scope.todos.trackers[value]), 1);
}
});
});
}
但它不起作用。我得到一个错误,$scope.todos.trackers.indexOf不是一个函数
有什么想法吗?我真的不知道该怎么办。。谢谢 之所以会出现这种错误,是因为跟踪器不是一个数组,而是一个对象。试试这样的
function removeIndividualTracker(key) {
delete $scope.todos.trackers[key];
}
出现此错误是因为跟踪器是一个对象。如果跟踪器是一个对象数组,则可以使用indexOf。您可以从此处阅读有关它的更多信息:
现在回到您的问题,您可以通过以下方式删除:
function removeIndividualTracker(key) {
delete $scope.todos.trackers[key];
}
您可以从此处了解有关删除的更多信息:$scope.todos.trackers不是Arayi如果您使用html调用removeIndividualTracker函数,请上载html代码,这也会很有帮助