Rozważać:
var object = {
foo: {},
bar: {},
baz: {}
}
Jak miałbym to zrobić:
var first = object[0];
console.log(first);
Oczywiście to nie działa, ponieważ pierwszy indeks ma nazwę foo
, a nie 0
.
console.log(object['foo']);
działa, ale nie wiem, czy to się nazywa foo. Można to nazwać dowolną. Chcę tylko pierwszy.
javascript
javascript-objects
Ryan Florence
źródło
źródło
Dla zabawy działa to w JS 1.8.5
Jest to zgodne z tą samą kolejnością, którą zobaczysz
źródło
Jeśli chcesz czegoś zwięzłego, spróbuj:
opakowane jako funkcja:
źródło
for (var key in obj) if (obj.hasOwnProperty(key)) break;
: Będziesz wtedy chciał użyćkey
zmiennejObject.keys(obj)[0];
jest znacznie szybszy (0,072 ms) niżfor
(1,644 ms).nie są tak naprawdę uporządkowane, ale możesz zrobić:
.hasOwnProperty()
jest ważne, aby zignorować prototypowe obiektów.źródło
Nie da ci to pierwszego, ponieważ obiekty javascript są nieuporządkowane, jednak w niektórych przypadkach jest to w porządku.
źródło
dla pierwszego klucza obiektu, którego możesz użyć
dla wartości
źródło
Nie ma sposobu na uzyskanie pierwszego elementu, ponieważ „skrypty” (obiekty) w JavaScript mają nieuporządkowane właściwości. Najlepiej jest przechowywać klucze w tablicy:
Następnie użyj tego, aby uzyskać odpowiednią wartość:
źródło
ES6
źródło
Za pomocą podkreślnika możesz użyć _.pairs, aby uzyskać pierwszy wpis obiektu jako parę klucz-wartość w następujący sposób:
Wtedy klucz byłby dostępny z kolejnym
[0]
indeksem dolnym, którego wartość to[1]
źródło
Wczoraj miałem ten sam problem. Rozwiązałem to w ten sposób:
Nie jest to najbardziej eleganckie rozwiązanie i jestem całkiem pewien, że może ono przynieść różne wyniki w różnych przeglądarkach (tzn. Specyfikacja mówi, że wyliczenie nie jest wymagane do wyliczenia właściwości w tej samej kolejności, w jakiej zostały zdefiniowane). Jednak miałem w obiekcie tylko jedną właściwość, więc nie było problemu. Potrzebowałem tylko pierwszego klucza.
źródło
Możesz zrobić coś takiego:
źródło
Aby zdobyć pierwszy klucz swojego obiektu
źródło
Na podstawie odpowiedzi CMS . Nie otrzymuję wartości bezpośrednio, zamiast tego biorę klucz z jego indeksu i używam tego, aby uzyskać wartość:
źródło
Moje rozwiązanie:
źródło