【问题标题】:Find JSON array has particular value for particular Key in Angular查找 JSON 数组对于 Angular 中的特定键具有特定值
【发布时间】:2017-01-10 06:25:21
【问题描述】:

我有以下 JSON 数组:

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

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

我正在使用 angular.js。我使用了angualr.forEach 循环,但break 在角度forEach 中不起作用。有 JavaScript map 函数的解决方案吗?

所以,我想创建一个函数,它以上述 JSON 数组作为参数,如果 JSON 数组具有特定 Key("service") 的特定值 ("A"),则返回 true。

【问题讨论】:

    标签: javascript angularjs arrays json loops


    【解决方案1】:

    使用原生 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 选项。

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          猜你喜欢
          • 2018-12-05
          • 1970-01-01
          • 2021-12-12
          • 2014-08-21
          • 2019-02-26
          • 2018-06-15
          • 2017-05-01
          • 1970-01-01
          • 2019-06-13
          相关资源
          最近更新 更多