Javascript: Accediendo a Objetos

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"]