我有一个情况,可以选择将字符串键的集合实现为对象:
$.each(objects, function (key, object) {
collection[key] = "doesn't matter";
});
或者一个数组:
$.each(objects, function (key, object) {
collection.push(key);
});
我希望能够快速确定集合中是否包含给定的键。如果集合是一个对象,我可以使用以下方法:
if (collection.hasOwnProperty(key_to_find)) { // found it!... }
else { // didn't find it... }
如果集合是一个数组,我可以使用以下代码:
if ($.inArray(key_to_find, collection)) { // found it!... }
else { // didn't find it... }
我认为使用JavaScript内置的hasOwnProperty比jQuery的inArray()更快,但我不完全确定。有没有人了解这两种方法之间的性能差异?或者,是否有更有效的替代方案我不知道?