json データの配列から、特定のデータを取得(検索)したい
Rails アプリで、ユーザの口座情報を入力・編集する機能を作成しています。
その際に『銀行を変更したら支店一覧を更新する』処理を angularjs を使って
書いているのですが、登録済みデータ(A銀行 aa支店)を変更する画面で
- A銀行の支店一覧を ajax で取得
- 支店一覧から aa 支店を選択済みに設定
する際のコードで悩んでいます。今のコードは下のようになっています。
$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('エラー');
});
※ コード中の '11' は Rails アプリでの銀行データのID, '110545' は同じく支店データの ID です。
なお、コード中の data(支店一覧)は以下のような内容になっています。
[{"id":1,"code":359,"name":"綱島支店","kana":"ツナシマシテン"},
{"id":2,"code":556,"name":"日吉支店","kana":"ヒヨシシテン"}]
勿論 for ループを使ったこのコードでも目的は達しているのですが、折角 angularjs を使っているのでもっとエレガント(?)なコードが無いものかと悩んでいます。ご教示頂ければ幸いです。