Czy sprawdzenie obiektu pod kątem klucza jest bardziej efektywne niż przeszukiwanie tablicy pod kątem ciągu? [duplikować]

To pytanie ma już tutaj odpowiedź:

Wydajność wyszukiwania klucza w obiekcie JavaScript 2 odpowiedzi

Tworzę strukturę danych, która będzie zawierała tę, która będzie używana do wielokrotnego sprawdzania, czy określone wartości są zdefiniowane. Wymyśliłem dwa możliwe rozwiązania i zastanawiam się, co jest bardziej wydajne lub czy istnieje lepszy sposób niż:

1) Użyj tablicy:keys = ['key1' , 'key2', 'key3']

Mogę utworzyć taką tablicę, a następnie użyćjQuery.inArray(keyToCheck, keys) > -1 sprawdzić i sprawdzić, czykeyToCheck jest w mojej tablicy.

2) Użyj obiektu:keys = {key1 : 1, key2 : 1, key3: 1}

Mogę utworzyć ten obiekt, a następnie użyćkeys[keyToCheck] || 0 sprawdzić, czykeyToCheck definiuje.

Nie jestem pewien, w jaki sposób przeszukiwanie obiektu jest zaimplementowane w javascript i czy jest ono bardziej wydajne niżjQuery.inArray, który pętli przez tablicę. Czy istnieje różnica między tymi metodami? Używanie jQuery nie jest dla mnie problemem, ponieważ mam go już w moim kodzie z innych powodów.

questionAnswers(1)

yourAnswerToTheQuestion