2016-05-11 33 views
1

オブジェクトからキーによって値を取得するAngularJS方法は何ですか?AngularJSオブジェクトから別の値で値を取得する方法

var myobj= { 
     "set1": { 
      "key": "B11", 
      "color": "yellow" 
     }, 
     "setA": { 
      "key": "F34", 
      "color": "green" 
     } 
    } 

のは、私が"F34"によってmyobjから"green"をつかむしたいとしましょうか? (myobjには任意の数のオブジェクトを指定できます)。

はAngularJSの方法によってそれを行うことができますか私はあなたが複数のコントローラ/サービスでこのシナリオを使用して計画している場合は、私が仕事をするためにカスタムフィルタを作成したいSO question

+2

それは、角度に固有の一般的なJSの問題ではありません。 –

答えて

2

に見て取らなければなりません私のために。

angular.module('myApp').filter('getColour', getColour); 

function getColour() { 
    return filter; 

    function filter(object, key) { 
     var colour; 
     angular.forEach(object, function(set) { 
      if (set.key === key) 
       colour = set.color; 
     }); 

     return colour; 
    } 
} 

これは、このように使用することができます:

$scope.colour = $filter('getColour')(myobj, 'F34'); 

Example fiddle

関連する問題