Estoy trabajando en un ejercicio codecademy.com donde usamos declaraciones for-in para recorrer un objeto e imprimir hello en diferentes idiomas comprobando si los valores de las propiedades en los idiomas objeto son cadenas usando typeof
JavaScript: using typeof para verificar si string
mi comprobación para ver si el valor es una cadena no está funcionando. mis bucles que me dan este resultado
english
french
notALanguage
spanish
El código
var languages = {
english: "Hello!",
french: "Bonjour!",
notALanguage: 4,
spanish: "Hola!"
};
// print hello in the 3 different languages
for(var hello in languages){
var value = hello;
if (typeof value === "string"){
console.log(value);
}
}
Estas son las instrucciones para el ejercicio
Los objetos no son tan extraño si realmente piensa acerca de ello!
Recuerde que puede averiguar el tipo de variable utilizando typeof myVariable. Los tipos que nos preocupan por el momento son "objeto", "cadena" y "número".
Recall el para-en bucle:
for (var x en obj) {executeSomething(); }
Esto recorrerá todas las propiedades de obj una por una y asignará el nombre de propiedad a x en cada ejecución del ciclo.
Combinemos nuestro conocimiento de estos dos conceptos.
Examine el objeto de idiomas. Tres propiedades son cadenas, mientras que uno es un número.
Utilice un bucle for-in para imprimir las tres formas de decir hola. En el bucle , debe verificar si el valor de la propiedad es una cadena para que no imprima accidentalmente un número.
Y la pregunta es ... – zerkms
es posible hacer una pregunta sin usar un signo de interrogación (?) Y sin usar la sintaxis típica de una pregunta. El OP mostró cuál era mi problema, y dos personas que respondieron (y todas las personas que votaron en contra) lo entendieron claramente. – Leahcim
sí, ha dado el código y la salida obvia correspondiente. Es una buena idea decir cuál fue * tu * expectativa, ya que el código funciona perfectamente válido. – zerkms