JavaScript 关联数组和 Array.indexOf 查找

JavaScript associative array and Array.indexOf lookup

应该有 100,000 个项目或更多对象数组,具有唯一 ID,例如:

myObj={
  id:makeUniqueId()
  , key:"bla"
  , key2:"blabla"
}

我必须通过 myObj.id 将这些对象放入具有唯一 ID 的广告数组中,所以我会喜欢

objectsList.push( myObj )

拥有那些替代守卫:

if(typeof( objectsIdMap[ myObj.id ] )=="undefined" ) {
  objectsIdMap[ myObj.id ]={};
  objectsList.push( myObj );
}

if( objectsIdList.indexOf( myObj.id) < 0 ) {
   objectsIdList.push( myObj.id );
   objectsList.push( myObj );
}

哪个性能更好,为什么?使用 SetMap 获得更好性能的任何有效方法?

您得到的答复是,真正了解的唯一方法是自己进行基准测试,这是真的。然而,这个主题之前已经探索过:

In JS, which is faster: Object's "in" operator or Array's indexof?

底线是 typeof obj[id] 方法通常更快。