Ich muss eine LOT von Nachschlagen durchführen, während ich XMLStream analysiere, wenn ich ein Tag brauche oder nicht.Javascript: welche Suche ist schneller: array.indexOf vs Objekt Hash?
Ich kann es mit array.indexOf Methode (ich habe etwa ~ 15 Elemente im Array) oder mit Objekt [key] lookup.
Zweite Lösung scheint in der Theorie für mich effizienter, aber sieht nicht Linie in meinem Code schön. Aber wenn es wirklich effizienter ist, würde ich es so lassen wie es ist.
Z. B .:
var tags = [
'tag1',
'tag2',
'tag3',
...
];
var tags2 = {
'tag1' : null,
'tag2' : null,
'tag3' : null,
}
tags.indexOf(value) // exists?
tags2[value] // exists?
indexOf ist O (n), Hash ist O (1), afaik – elclanrs
Haben Sie es versucht? http://jsperf.com/ – Bergi
https://jsperf.com/indexof-vs-hash –