I have a situation where I can choose to implement a collection of string keys as an object:

$.each(objects, function (key, object) {
    collection[key] = "doesn't matter";
});

or an array:

$.each(objects, function (key, object) {
    collection.push(key);
});

I'd like to be able to quickly determine whether or not the collection contains a given key. If collection is an object, I can use:

if (collection.hasOwnProperty(key_to_find)) { // found it!... }
else { // didn't find it... }

If collection is an array, I can use:

if ($.inArray(key_to_find, collection)) { // found it!... }
else { // didn't find it... }

I'd imagine using JavaScript's built-in hasOwnProperty would be faster than jQuery's inArray(), but I'm not entirely sure. Does anyone know more about the performance differences between these two methods? Or, is there a more efficient alternative here that I am not aware of?

Edit
Report