4

どこでも検索しましたが、リストから正しい行を削除する際に問題がある解決策が見つかりませんでした。

たとえば、以下の配列があります。

$scope.rows = [{
        "ID": 12,
        "customer": "abc",
        "image": "abc.jpg",
},{
        "ID": 13,
        "customer": "klm",
        "image": "klm.jpg",
},{
        "ID": 14,
        "customer": "xyz",
        "image": "xyz.jpg",
}];     

次のコードを使用して、ID = 13 (ID はノード サーバーから受信されます) の行を削除しようとしています。

        Socket.on('delete', function( ID ) {

            var a = $scope.rows.indexOf(ID);
            $scope.rows.splice(a, 1)

        });

しかし、これは正しい行を削除しません。

パラメータを指定して、次のように正しい行を削除するにはどうすればよいですか。

remove rows("ID" = ID)
4

3 に答える 3

4

indexOf配列内の部分文字列を検索します (リレーショナル配列ではありません)

これを試して:

var whatIndex = null;
angular.forEach($scope.rows, function(cb, index) {
  if (cb.ID === ID) {
     whatIndex = index;
  }
});

$scope.rows.splice(whatIndex, 1);
于 2014-02-19T09:18:32.593 に答える