javascript - 在对象中查找键/值(列表理解?)

标签 javascript

如何在 JS 中查找 index==2

myObj = {
  policy : {
            index: 1,
            page : "/summer"
         },
  purchase : {
            index: 2,
            page : "/sun"
         }
}

例如

for (var key in myObj) {
  if (myObj.hasOwnProperty(key)) {
    if (myObj[key].index === 2)
       console.log("Found.");
  }
}
 

如何在 JS 中更有效地做到这一点?

最佳答案

Javascript-wise 我会使用 Object.keys()功能:

Object.keys(myObj).forEach(key => {
    if (myObj[key].index === 2) {
        console.log("Found.");
    }
});

因为它消除了检查 myObj.hasOwnProperty(key) 的需要。

如果你想在找到一个时停止搜索:

Object.keys(myObj).some(key => myObj[key].index === 2);

关于javascript - 在对象中查找键/值(列表理解?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38292652/

相关文章:

javascript - React 路由器参数和查询不起作用

javascript - 在 Angular 6 component.html 中使用 script 标签

javascript - Ref.orderBy 不是带有 firebase 和 React.js 的函数

javascript - 尝试使用特定 URL 预填充表单字段

java - Selenium 找不到元素

javascript - 在 IntelliJ IDEA 中调试 JavaScript

javascript - JSLint - 如何修复 ActiveXObject 在定义之前使用的错误

javascript - 为什么我不能在 JQuery 中选择一个用 $.get 加载的元素

javascript - 在 Drupal 7 中将信息从模块文件传递到 JS 文件

使用 setPrototypeOf 的 javascript 继承