Оператор для проверки членства в коллекции в Javascript

как я могу эффективно проверять членство в коллекции в Javascript? У меня есть потенциально большой массив строк, и мне нужно проверить, является ли данная строка членом массива.

Сначала я думал, что оператор в может помочь, но после прочтения документации по Mozilla Сеть разработчиков. Я обнаружил, что его назначение другое . В Javascript он проверяет, находится ли указанное свойство в указанном объекте.

По причинам, связанным с производительностью, я ' Я предпочитаю использовать встроенный js, но если такой функции не существует, я, вероятно, закончу, сделав одно из следующего:

  1. используйте массив для создания объекта, имеющего элементы массива в качестве ключей, а затем используйте in
  2. перебирает элементы массива и реализует ли элемент сравнения по элементу
  3. бинарный поиск

Любое мнение? Или идеи получше?

Спасибо

5
задан Paolo 8 March 2011 в 11:29
поделиться