查找JSON数组对Angular中的特定Key具有特定值

时间:2017-01-10 06:25:21

标签: javascript angularjs arrays json loops

我有以下JSON数组:

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

我想检查JSON数组是否有服务“A”,如果是,则返回true。

我正在使用angular.js。我使用了angualr.forEach循环,但break无法在angular forEach中使用。有没有JavaScript map函数的解决方案。

所以,我想创建一个具有上述JSON数组作为参数的函数,如果JSON数组具有特定键(“服务”)的特定值(“A”),则返回true。

3 个答案:

答案 0 :(得分:2)

使用原生JavaScript Array#some方法。



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

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




对于较旧的浏览器兼容性检查polyfill选项。

答案 1 :(得分:1)

无论如何,你可以使用有角度的foreach。设置标志以停止循环。试试这个。

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

答案 2 :(得分:1)

jQuery('#dobDatepicker').datepicker({
        autoclose: true,
        todayHighlight: true,
        endDate:new Date(),
        format: 'dd/mm/yyyy'
      }).change(()=>{
        this.dobDta=jQuery('#dobDatepicker').val();
      });