我有一个这样的数组:
[{prop1:"abc",prop2:"qwe"},{prop1:"bnmb",prop2:"yutu"},{prop1:"zxvz",prop2:"qwrq"},...]
如何在不遍历整个数组的情况下获取与条件匹配的对象的索引?
例如,给定 prop2=="yutu"
,我想获得索引 1
。
我看到了 .indexOf()
但认为它用于简单的数组,如 ["a1","a2",...]
。我还检查 $.grep()
但这会返回对象,而不是索引。
原文由 amp 发布,翻译遵循 CC BY-SA 4.0 许可协议
截至 2016 年,您应该为此使用
Array.findIndex
(ES2015/ES6 标准):它在 Google Chrome、Firefox 和 Edge 中受支持。对于 Internet Explorer,链接页面上有一个 polyfill。
性能说明
函数调用很昂贵,因此对于非常大的数组,一个简单的循环将比
findIndex
执行得更好:与大多数优化一样,这应该谨慎应用,并且仅在实际需要时才应用。