javascript - 在AngularJS中循环遍历多个数组及其内部的对象

标签 javascript arrays angularjs foreach

我目前正在努力使用 forEach 方法来循环包含多个对象的数组。我可能犯了一个愚蠢的错误,但我不确定我哪里出了问题

我有一个带有一些像这样的数组的对象......

助手数组:

var assistants =
[  
   {    
         "countryCode":"US",
         "cityName":"San Diego",
         "geographicRegionCode":"CA"
   },
   {
         "countryCode":"AD",
         "cityName":"a",
         "geographicRegionCode":null
   }
]

函数我用来循环并返回一个值...

     function validateAssistants () {
          angular.forEach(assistants, function(a) {
            if(a.countryCode === "US") {
              return true;
            }
          });
      }

当我要调试时...它一直说 a 未定义。不确定我做错了什么。有人能指出我正确的方向吗?

最佳答案

forEach()类似于 [1,2,3].forEach(callback),但在我看来,最好的方法是使用 some()查找某个元素是否匹配,例如 assistants.some(o=>o.countryCode == "US")

var assistants =
[  
   {    
         "countryCode":"US",
         "cityName":"San Diego",
         "geographicRegionCode":"CA"
   },
   {
         "countryCode":"AD",
         "cityName":"a",
         "geographicRegionCode":null
   }
]


assistants.forEach((o)=>{

if(o.countryCode === "US") {
         console.log(true);
        }

})

console.log(assistants.some(o=>o.countryCode == "US"))//<-- best

forEach() 迭代所有元素,如果在 0 位置找到匹配则继续迭代直到结束,不需要 somefor (带中断),找到匹配项时停止。

关于javascript - 在AngularJS中循环遍历多个数组及其内部的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51970764/

相关文章:

javascript - 在页面加载/提交期间禁用额外的点击

javascript - 使用 jquery 从 json 中删除特定行

java - 如何将文本文件中的不同数据存储到ArrayList中?

javascript - 在 ionic 弹出窗口上传递值,但获取 MouseEvent

Angularjs。 ng-switch 在表格内不起作用

javascript - float div 和滑动动画的奇怪行为

javascript - 使用 Awesomium 在 ASP.NET Web 表单回发后自动下载

Javascript - 在没有运算符重载的情况下生成表达式

C++ 二维字符数组到字符串

javascript - 使用日期范围过滤 Angular ui Bootstrap