After reading many similar questions:
- JavaScript implementation of a set data structure
- Mimicking sets in JavaScript?
- Node JS, traditional data structures? (such as Set, etc), anything like Java.util for node?
- Efficient Javascript Array Lookup
- Best way to find if an item is in a JavaScript array?
- How do I check if an array includes an object in JavaScript?
I still have a question: suppose I have a large array of strings (several thousands), and I have to make many lookups (i.e. check many times whether a given string is contained in this array). What is the most efficient way to do this in Node.js ?
A. Sort the array of strings, then use binary search? or:
B. Convert the strings to keys of an object, then use the "in" operator
?
I know that the complexity of A is O(log N), where N is the number of strings.
But I don't know the complexity of B.
IF a Javascript object is implemented as a hash table, then the complexity of B is, on average, O(1), which is better than A. However, I don't know if a Javascript object is really implemented as a hash table!