json データの配列から、特定のデータを取得（検索）したい


Rails アプリで、ユーザの口座情報を入力・編集する機能を作成しています。

その際に『銀行を変更したら支店一覧を更新する』処理を angularjs を使って  
書いているのですが、登録済みデータ（A銀行 aa支店）を変更する画面で

  1. A銀行の支店一覧を ajax で取得
  2. 支店一覧から aa 支店を選択済みに設定

する際のコードで悩んでいます。今のコードは下のようになっています。

[code]

    $http.get('/banks/' + $scope.account_bank + '/branches.json'
              ).success(function(data, status, headers, config) {
                $scope.account_branches = data;
                $scope.account_branch   = data[0];
                if (11 == $scope.account_bank) {
                  for (var i = 0; i < data.length; i++) {
                    value = data[i];
                    if (value.id == 110545) {
                      $scope.account_branch = value;
                      break;
                    }
                  }
                }
              }).error(function(data, status, headers, config) {
                $scope.account_branches = [];
                alert('エラー');
              });
    
[/code]

※ コード中の '11' は Rails アプリでの銀行データのID, '110545' は同じく支店データの ID です。

なお、コード中の data（支店一覧）は以下のような内容になっています。

[code]

    [{"id":1,"code":359,"name":"綱島支店","kana":"ツナシマシテン"},
     {"id":2,"code":556,"name":"日吉支店","kana":"ヒヨシシテン"}]
    
[/code]

勿論 for ループを使ったこのコードでも目的は達しているのですが、折角 angularjs
を使っているのでもっとエレガント（？）なコードが無いものかと悩んでいます。ご教示頂ければ幸いです。




フィルターを使えばよいかと思います。  
下記の例では、`id`の`1`のみ引き当たり、`11`は引き当たらないはずです。  
配列で返ってくるので、その点は注意が必要です。

[/ API Reference / ng / filter components in ng /
filter](https://docs.angularjs.org/api/ng/filter/filter)

[code]

    app.controller("testController", ["$scope", "$filter", function($scope, $filter) {
        var data = [
            {"id":1,"code":359,"name":"綱島支店","kana":"ツナシマシテン"},
            {"id":2,"code":556,"name":"日吉支店","kana":"ヒヨシシテン"},
            {"id":11,"code":1,"name":"東京営業部","kana":"トウキョウエイギョウブ"},
        ];
        $scope.account_branch = {};
        var result = $filter("filter")(data, { id: 1 }, true);
        if (result.length > 0) {
            $scope.account_branch = result[0];
            console.log($scope.account_branch.code);
            console.log($scope.account_branch.name);
            console.log($scope.account_branch.kana);
        }
    }]);
    
[/code]




AngularJSだから可能なスマートな書き方、というのはあまりなさそうですがunderscore.jsを使うのが問題なければこういう感じで一行にできます。

[code]

    $scope.account_branch = _.find(data, function(d) { return d.id === 110545; });
    
[/code]

存在しなかった時の処理はここでは省いています。

