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 odpowiedziTworzę 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.