Javascript: quale ricerca è più veloce: arrays.indexOf vs hash object?

Devo eseguire un LOTTO di ricerche, mentre parlando xmlStream se ho bisogno di un tag o less.

Posso farlo con il metodo arrays.indexOf (ho circa ~ 15 elementi in arrays) o utilizzando la ricerca object [key].

La seconda soluzione sembra più efficiente in teoria per me, ma non sembra bella nel mio codice. Ma se è davvero più efficiente, lo lascio come lo è.

Per esempio:

var tags = [ 'tag1', 'tag2', 'tag3', ... ]; var tags2 = { 'tag1' : null, 'tag2' : null, 'tag3' : null, } tags.indexOf(value) // exists? tags2[value] // exists? 

Ebbene, le performance dipendono dalla dimensione impostata e dal tuo model di accesso. In generale, l'indexOf è O (n) e hash è O (1), tuttavia, dal momento che hai solo 15 elementi nel set e diciamo che each accesso è completamente indipendente e equiprobabile, il vantaggio di hash non è realmente presente .