freeCodeCamp/curriculum/challenges/spanish/02-javascript-algorithms-an.../basic-data-structures/iterate-through-the-keys-of...

3.3 KiB

id title challengeType videoUrl localeTitle
587d7b7d367417b2b2512b1d Iterate Through the Keys of an Object with a for...in Statement 1 Iterar a través de las claves de un objeto con for ... in

Description

Es posible que en alguna ocasión deba recorrer todas las claves dentro de un objeto. Esto requiere una sintaxis específica en JavaScript llamada for ... in statement. Para el objeto de nuestros users , esto podría verse como:
for (let user in users) {
console.log (usuario);
};

// logs:
Alan
Jeff
Sarah
Ryan
En esta declaración, definimos una variable user y, como puede ver, esta variable se restableció durante cada iteración de cada una de las claves del objeto a medida que la declaración se desplazaba a través del objeto, lo que daba como resultado que el nombre de cada usuario se imprimiera en la consola. NOTA:
Los objetos no mantienen un orden para las claves almacenadas como lo hacen las matrices; por lo tanto, una posición de las claves en un objeto, o el orden relativo en el que aparece, es irrelevante cuando se hace referencia o se accede a esa clave.

Instructions

Hemos definido una función, countOnline ; use una instrucción for ... in dentro de esta función para recorrer los usuarios en el objeto users y devolver el número de usuarios cuya propiedad online está definida como true .

Tests

tests:
  - text: El objeto <code>users</code> contiene a los usuarios <code>Jeff</code> y <code>Ryan</code> con <code>online</code> conjunto en <code>online</code> a <code>true</code> y los usuarios <code>Alan</code> y <code>Sarah</code> con <code>online</code> conjunto en <code>online</code> a <code>false</code>
    testString: 'assert(users.Alan.online === false && users.Jeff.online === true &&  users.Sarah.online === false &&  users.Ryan.online === true, "The <code>users</code> object contains users <code>Jeff</code> and <code>Ryan</code> with <code>online</code> set to <code>true</code> and users <code>Alan</code> and <code>Sarah</code> with <code>online</code> set to <code>false</code>");'
  - text: La función <code>countOnline</code> devuelve el número de usuarios con la propiedad en <code>online</code> establecida en <code>true</code>
    testString: 'assert((function() { users.Harry = {online: true}; users.Sam = {online: true}; users.Carl = {online: true}; return countOnline(users) })() === 5, "The function <code>countOnline</code> returns the number of users with the <code>online</code> property set to <code>true</code>");'

Challenge Seed

let users = {
  Alan: {
    age: 27,
    online: false
  },
  Jeff: {
    age: 32,
    online: true
  },
  Sarah: {
    age: 48,
    online: false
  },
  Ryan: {
    age: 19,
    online: true
  }
};

function countOnline(obj) {
  // change code below this line

  // change code above this line
}

console.log(countOnline(users));

Solution

// solution required