Say masz JavaScript Object takiego:Jak uzyskać dostęp do właściwości obiektu javascript, jeśli nie znam nazw?
var data = { foo: 'bar', baz: 'quux' };
można uzyskać dostęp do właściwości pod nazwą własności:
var foo = data.foo;
var baz = data["baz"];
Ale czy to możliwe, aby uzyskać te wartości, jeśli nie wiem nazwa nieruchomości? Czy nieuporządkowany charakter tych właściwości uniemożliwia ich odróżnienie?
W moim przypadku myślę konkretnie o sytuacji, w której funkcja musi akceptować serię par nazwa-wartość, ale nazwy właściwości mogą się zmieniać.
Moje przemyślenia na temat tego, jak to zrobić, to przekazanie imion właściwości do funkcji wraz z danymi, ale to wygląda jak włamanie. Wolałbym robić to z introspekcją, jeśli to możliwe.
Teraz to właściwie odpowiada na pytanie, dobrze zrobione @Adam Lassek, bardzo ładnie wykonane. –
Wprowadzanie w błąd polega na użyciu zarówno "nazwy", jak i "wartości" jako kluczy obiektów. Ta funkcja zwraca tylko klucze na liście, a nie wartości. {nazwa1: "wartość1", nazwa2: "wartość2"} pozwoli uniknąć zamieszania u początkujących. Object.keys (dane); // ['name1', 'name2'] –
@JamesNicholson Zgadzam się, zredagowałem, żeby było mniej zagmatwane. –