Autor Tema: Arrays asociativos Javascript Acceso propiedes notación punto ejercicio CU01146E  (Leído 3805 veces)

Rosa

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 12
    • Ver Perfil
Hola! Alguien sabría resolver este ejercicio? He hecho un montón de cambios y no lo consigo... una ayuda, por favor.

Citar
Se pide realizar los siguientes cambios:

a) Reemplaza toda la notación basada en sintaxis tipo array para el acceso a propiedades por sintaxis basada en notación de punto. Ejecuta el código y comprueba su funcionamiento.

b) Sobre el código de la opción a), cambia la definición de objetos para que no sean objetos únicos, sino que plus, minus y calcular sean funciones simples, y operaciones un objeto instanciable (que tendrás que instanciar si es necesario). Ejecuta el código y comprueba su funcionamiento.

c) Sobre el código de la opción c), añade la posibilidad de hacer cálculos de multiplicación y división de la misma forma que se hacen cálculos de suma y resta. Muestra un mensaje por cada tipo de operación. Ejecuta el código y comprueba su funcionamiento.

Código: [Seleccionar]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head><title>Ejemplo aprenderaprogramar.com</title><meta charset="utf-8">
<script type="text/javascript">
var plus = function(x,y){ return x + y };
var minus = function(x,y){ return x - y };
var operaciones = {
  '+': plus,
  '-': minus
};
var calcular = function(x, y, operacion){ return operaciones[operacion](x, y); }
function ejemploObjetos() {
alert ('Resultado de calcular(3, 15, \'+\') es '+ calcular(3,15, '+'));
}
</script>
</head>
<body><div id="cabecera"><h2>Cursos aprenderaprogramar.com</h2><h3>Ejemplos JavaScript</h3></div>
<div style="color:blue;" id ="pulsador" onclick="ejemploObjetos()"> Probar </div>
</body>
</html>


En el apartado a) En que parte del código está la sintaxis tipo array, en operaciones[operacion]?

En el apartado b) No sé coomo se haría el cambio de objetos únicos a funciones simples, por favor, necesito ayuda, quiero avanzar y me cuenta.

Un saludo y gracias
« Última modificación: 05 de Septiembre 2015, 13:32 por Alex Rodríguez »

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2050
    • Ver Perfil
Re:CU01146E: Arrays asociativos en Javascript
« Respuesta #1 en: 05 de Septiembre 2015, 13:30 »
Hola Rosa, para el apartado a) la respuesta que yo le daría es la siguiente:

La sintaxis de tipo array aparece en la línea return operaciones[operacion](x, y);

En este caso no podemos usar la notación de punto por lo que se indica en la propia entrega CU01146E:

Citar
¿Para qué es útil el acceso a propiedades con la sintaxis tipo array?

Algunos programadores la usan porque les gusta, pero hay casos en que es la única forma de acceder a una propiedad. Supón que el nombre de una propiedad lo establece el usuario (o se crea dinámicamente de alguna manera) introduciendo un dato que almacenas en una variable denominada nombrePropiedad. En este caso no es posible acceder a la propiedad con la sintaxis nombreObjeto.nombrePropiedad, pero sí será posible acceder con la sintaxis nombreObjeto[nombrePropiedad].

Se puede realizar esta prueba:

var calcular = function(x, y, operacion){
alert ('Tenemos: '+ operaciones[operacion] + ' y sin embargo '+operaciones.operacion+'')
return operaciones[operacion](x, y); }

El resultado que se obtiene es:

Tenemos: function (x,y){ return x + y } y sin embargo undefined

Esto nos indica que operaciones[operacion] nos devuelve algo (una función que requiere dos parámetros) mientras que operaciones.operacion no nos devuelve nada, en este caso no es posible el acceso a la propiedad con esta notación

Por tanto no resulta viable el reemplazo de la notación tipo array por notación basada en punto

Saludos

Rosa

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 12
    • Ver Perfil
Gracias

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".