我有一个数组

vendors = [{
    Name: 'Magenic',
    ID: 'ABC'
  },
  {
    Name: 'Microsoft',
    ID: 'DEF'
  } // and so on... 
];

如何判断此数组以查看是否存在"Magenic"?我不想循环,除非我必须循环.我正在处理可能有几千张唱片.

推荐答案

2018 edit:这个答案来自2011年,那时浏览器还没有广泛支持数组过滤方法和箭头功能.看看CAFxX's answer.

在没有循环的数组中,没有"神奇"的方法来判断某些东西.即使使用某个函数,函数本身也会使用循环.你能做的是,一旦找到你想要的东西,就立即跳出循环,以最小化计算时间.

var found = false;
for(var i = 0; i < vendors.length; i++) {
    if (vendors[i].Name == 'Magenic') {
        found = true;
        break;
    }
}

Javascript相关问答推荐

使用reaction创建可排序的表不起作用

使用Astro和React的动态API

追踪执行顺序

为什么这个自定义组件会被放置在TR之外?

Angular material 表多个标题行映射

如何使用React渲染器放置根dis?

如何在JavaScript中在文本内容中添加新行

使用TMS Web Core中的HTML模板中的参数调用过程

如何分配类型脚本中具有不同/额外参数的函数类型

React 17与React 18中的不同setState行为

如何在Javascript中使用Go和检索本地托管Apache Arrow Flight服务器?

如何通过使用vanilla JS限制字体大小增加或减少两次来改变字体大小

使用Google API无法进行Web抓取

rxjs插入延迟数据

对网格项目进行垂直排序不起作用

使用类型:assets资源 /资源&时,webpack的配置对象&无效

如何使本地html页面在重新加载时保持当前可隐藏部分的打开状态?

无法设置RazorPay订阅API项目价格

P5.js中的分形树

不协调嵌入图片