2017-01-10 8 views
1

に特定のキーのために特定の値を持つ検索:JSON配列が、私は、次のJSON配列を持つ角度

[ 
    { "id": "1", "service": "B" }, 
    { "id": "2", "service": "A" }, 
    { "id": "3", "service": "C" } 
] 

私はイエスその後、trueを返す場合はJSON配列は、サービス「A」を持っているかどうかを確認します。

私はangular.jsを使用しています。私はangualr.forEachループを使っていましたが、breakはangular forEachでは動作しません。 JavaScript mapの機能はありますか?

したがって、上記のJSON配列を引数として持つ関数を作成し、JSON配列に特定のKey( "サービス")の特定の値( "A")がある場合はtrueを返します。

答えて

2

ネイティブJavaScript Array#someメソッドを使用します。古いブラウザの互換性チェックpolyfillオプションについては

var data = [{ 
 
    "id": "1", 
 
    "service": "B" 
 
}, { 
 
    "id": "2", 
 
    "service": "A" 
 
}, { 
 
    "id": "3", 
 
    "service": "C" 
 
}]; 
 

 
console.log(data.some(function(v) { 
 
    return v.service == 'A'; 
 
}))


1

とにかくforeachを使うことができます。ループを停止するフラグを設定します。これを試して。

var breakLoop = false; 
angular.forEach(arr, function (val) { 
    if (val.service == 'A') { 
     breakLoop = true; 
    } 
}); 
console.log(breakLoop) 
1

function myFunction(data,myVal,myKey){ 
 
    var flag=false; 
 
    angular.forEach(data,function(obj,k){ 
 
     if(obj[myKey]==myVal){ 
 
      flag=true; 
 
      } 
 
     }); 
 
    return flag; 
 
    }

関連する問題