Javascript: Accediendo a Objetos
Conozcamos las tres formas de acceder a objetos: usando puntos, corchetes y claves dinámicas
const champion = {
name: "Tristana",
role: "ADC",
hp: 450,
damage: 65
}
Usando puntos (.)
const name = champion.name
console.log(name) // "Tristana"
Usando corchetes ([ ])
const damage = champion['damage']
console.log(damage) // 65
Usando claves dinámicas
const prop = 'role'
const role = champion[prop]
console.log(role) // "ADC"
Casos de uso
Iterar sobre objetos
for (const prop in champion) {
console.log(`champion.${prop} = ${champion[prop]}`);
}
// console.log salida
// "champion.name = Tristana"
// "champion.role = ADC"
// "champion.hp = 450"
// "champion.damage = 65
Pasando claves como argumentos a funciones
De esta forma puedes hacer hacer más genéricas tus funciones expandiendo sus opciones de uso.
const champions = [
{
name: "Tristana",
role: "ADC",
hp: 450,
damage: 65
},
{
name: "Mundo",
role: "Tank",
hp: 750,
damage: 60
},
{
name: "Tresh",
role: "Support",
hp: 720,
damage: 50
}
]
function mapByKey(arr, KeyName) {
return arr.map(function(item) {
return item[keyName]
})
}
const championNames = mapByKey(champions, 'name')
console.log(championNames) // ["Tristana", "Mundo", "Tresh"]
const roleKey = 'role'
console.log(mapByKey(champions, roleKey) // ["ADC", "Tank", "Support"]