至于详细的其他地方,否则显然是众所周知的,IE浏览器(版本绝对7,并在某些情况下,版本8)不落实的关键功能,特别是Array
(如forEach
,indexOf
等).
这里和那里有许多变通方法,但我想将一组适当的,规范的实现折叠到我们的网站中,而不是复制,粘贴或破解我们自己的实现.我找到了js-methods,看起来很有前景,但我想在这里发帖看看是否有更高度推荐的另一个库.一些杂项标准:
示例1:
["member1", "member2",...,..., "member100000"]
Run Code Online (Sandbox Code Playgroud)
示例2:
{
"member1": true, // (doesn't really need values, only keys :/)
"member2": true,
"...",
"member100000": true
}
Run Code Online (Sandbox Code Playgroud)
我将成员存储在每个内容的数组中,如示例 1 所示,但这样做我必须迭代数组中的 49999 个项目,才能找到成员 50000,所以我想简单地检查是否在javascript对象中定义特定的键将是一个更好的方法,虽然我不需要存储值,但只检查键是否未定义?
我需要的是能够检查是否例如。“member50000”作为我的数组中的值存在 - 或作为我的对象中的键。
我做了一些基准测试,但我不确定我是否得出了正确的结论,或者我在比较中是否做错了什么:http://jsperf.com/lolda123
根据上述测试结果,是否可以公平地得出以下结论:将键/值对保存在值为布尔值(true)的对象中,并且执行操作if(obj["member50000"])
是性能最佳的选项?即使不存在具有给定键的属性?在我看来,根据我的测试结果,检查密钥本身是否存在,在性能方面似乎要昂贵得多,但检查密钥是否存在,确实是我所需要的。
我不关心值,所以我在这里遗漏了一些东西,或者为什么更好的解决方案似乎是通过键查找值,而不是仅仅在对象内部查找键?