javascript - typescript'te obje anahtarı dinamikse değeri nasıl alınır?
Bir nesne dizim var. Yapısı böyle.
animal = [{"cow":{"leg":4,"eye":2}},{"monkey":{"leg":2,"eye":2}}]
buradaki ilk anahtar inek ve maymun gibi dinamiktir
Yani sorum şu: İlk anahtar dinamikse key leg'e nasıl erişebilirim?
Cevap #1
Eğer dizideki her nesnenin yalnızca 1 özelliğe sahip olduğundan emin değilseniz (bu özellik hayvanın türü olur), şöyle bir şey yapabilirsiniz.
animals = [{"cow":{"leg":4,"eye":2}},{"monkey":{"leg":2,"eye":2}}];
for (let animal of animals) {
let propName = Object.keys(animal)[0];
let result = animal[propName];
console.log(result); // <- Do what you want with it
}Cevap #2
Bence en mantıklı olan, yeni eklenen Object.entries'i kullanabilirsiniz.
Böylece verileriniz için şunlara sahipsiniz:
const animal = ...
for (a of animal) {
const [animalName, animalDesc] = Object.entries(a)[0]; // assumes there is only one
}
