2017-09-19 7 views
0

オブジェクトからアイテムを削除するのは本当に苦労しています。 $scope.todos.trackersオブジェクトからアイテムを削除する

..

これは私の物である理由、それは少し難しくなりますので、オブジェクトはランダムに鍵を生成しているが、私はspliceを使用してオブジェクトから項目を削除することはできません...と私はわからないんだけど

これは$scope.todosは、次のようになります。

enter image description here

そして、これはオブジェクトのtrackers一部を次のようになります。

enter image description here

だからtrackerオブジェクト(たとえば、最後の項目 `ノート:「最後に」、値: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 is not a functionのエラーが表示されます。

アイデア?私は本当に何をすべきかわからない。ありがとう!

+0

$ scope.todos.tracke rsはアレイではありません – Sajeetharan

+0

htmlを使用してremoveIndividualTracker関数を呼び出す場合は、HTMLコードもアップロードしてください。 –

答えて

1

トラッカーはArrayではなくObjectであるため、このエラーが発生しています。トラッカーは、トラッカーがobjects.Youの配列は、ここからそれについての詳細を読むことができた場合のindexOfを使用している可能性がobject.Youなので...あなたはこのエラーを取得している

function removeIndividualTracker(key) { 
    delete $scope.todos.trackers[key];    
} 
+0

Yup!それが働いた...ありがとう! –

0

をこのような何かを試してみてください:MDN indexOf

ここから削除についてあなたはより多くを読むことができる

function removeIndividualTracker(key) { 
    delete $scope.todos.trackers[key];    
} 

:今すぐ戻ってあなたの質問に来て

、次の方法で削除することができMDN delete

関連する問題