Foros del Web » Programando para Internet » Javascript »

Como fucionar estos dos codigos?

Estas en el tema de Como fucionar estos dos codigos? en el foro de Javascript en Foros del Web. Hola para minizar un codigo bastante grande, decidi unir funcione (creo que se laman asi) y son las siguientes: Código HTML: quotes["9/5"]='¡Misma Frase!'; quotes["10/5"]='¡Misma Frase!'; ...
  #1 (permalink)  
Antiguo 10/05/2015, 05:33
 
Fecha de Ingreso: agosto-2014
Mensajes: 294
Antigüedad: 9 años, 7 meses
Puntos: 4
Pregunta Como fucionar estos dos codigos?

Hola para minizar un codigo bastante grande, decidi unir funcione (creo que se laman asi) y son las siguientes:

Código HTML:
quotes["9/5"]='¡Misma Frase!';
quotes["10/5"]='¡Misma Frase!';
El dia 9 del mes 5 mostrara la misma frase que el dia 10 del mismo mes.. entonces pense acortar de alguna forma el codigo... probe de las dos siguientes maneras y sin éxito

Manera 1:
Código HTML:
quotes["9/5","10/5"]='¡Misma Frase!';

Manera 2:
Código HTML:
quotes["9/5"], quotes["10/5"]='¡Misma Frase!';
Si alguien puede orientar a un novato seria de agradecer!!
  #2 (permalink)  
Antiguo 10/05/2015, 05:47
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 7 meses
Puntos: 578
Respuesta: Como fucionar estos dos codigos?

No creo que esa sea la forma adecuada de hacerlo, creo que deberías probar con switch


Aun así: ¿puedes explicar mejor que quieres hacer con eso?
  #3 (permalink)  
Antiguo 10/05/2015, 07:34
 
Fecha de Ingreso: agosto-2014
Mensajes: 294
Antigüedad: 9 años, 7 meses
Puntos: 4
Respuesta: Como fucionar estos dos codigos?

Cita:
Iniciado por PHPeros Ver Mensaje
No creo que esa sea la forma adecuada de hacerlo, creo que deberías probar con switch


Aun así: ¿puedes explicar mejor que quieres hacer con eso?
Muchas Gracias por la respuesta compañero! +1 para ti jeje!

Aquí dejo el codigo, lo que hace es mostrar una frase para cada día del año

Código HTML:
<script language="JavaScript1.2">

   var 
quotes=new Array();

   //el array en vez de referenciarlo por indice numerico 
            //lo referencias por una cadena que es el dia/mes
   
quotes["1/1"]='Frase 1';
quotes["1/2"]='Frase 2';
quotes["1/3"]='Frase 3';
....
...
...
   
 
   



   time=new Date();
   mes=time.getMonth() + 1;
   dia=time.getDate();
   frase = dia+"/"+mes;

   document.write(
quotes[frase]);
  </script> 

El caso es que tengo frases para medio año, entonces despues de que pase medio año quiero que se vuelvan a repetir.. una opcion es copiar todas las frases y pegarlas para complementar todo el año, pero busco una solucíon mas simple para hacer que el codigo sea la mitad de grande..

Entonces lo unico que necesito es que una misma frase salga en dos días distintos del año... y asi con todas :)

Espero haberme explicado! Gracias!
  #4 (permalink)  
Antiguo 10/05/2015, 11:45
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Como fucionar estos dos codigos?

Eso no es "unir funciones" pues, para empezar, no veo ni una función, solo veo que intentas asignar el mismo valor a más de un índice dentro de un array.

Lo que puedes hacer es mostrar mensajes según el día obtenido localmente. Por ejemplo, puedes comprobar si el día actual es, digamos, el primero del mes en curso (cualquiera sea el mes), entonces, de ser así, mostrarías un mensaje del tipo 'Que tengas un buen inicio de mes', o si se trata del día 15, un mensaje que diga '¡Ya estamos a la mitad del mes!'. Incluso para la semana de pascua, podrías mostrar un mensaje basándote en el algoritmo que se utiliza para determinar dichas fechas.

Para esto, no harían falta arrays, solo serían condiciones. Ahora, te toca adaptarlo a lo que necesitas.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #5 (permalink)  
Antiguo 10/05/2015, 14:30
 
Fecha de Ingreso: agosto-2014
Mensajes: 294
Antigüedad: 9 años, 7 meses
Puntos: 4
Respuesta: Como fucionar estos dos codigos?

Cita:
Iniciado por Alexis88 Ver Mensaje
Eso no es "unir funciones" pues, para empezar, no veo ni una función, solo veo que intentas asignar el mismo valor a más de un índice dentro de un array.

Lo que puedes hacer es mostrar mensajes según el día obtenido localmente. Por ejemplo, puedes comprobar si el día actual es, digamos, el primero del mes en curso (cualquiera sea el mes), entonces, de ser así, mostrarías un mensaje del tipo 'Que tengas un buen inicio de mes', o si se trata del día 15, un mensaje que diga '¡Ya estamos a la mitad del mes!'. Incluso para la semana de pascua, podrías mostrar un mensaje basándote en el algoritmo que se utiliza para determinar dichas fechas.

Para esto, no harían falta arrays, solo serían condiciones. Ahora, te toca adaptarlo a lo que necesitas.

Saludos

Muchas Gracias por tu respuesta +1! solo una cosa.. cual seria el modo de hacer lo que comentas? solo veo que intentas asignar el mismo valor a más de un índice dentro de un array.
  #6 (permalink)  
Antiguo 10/05/2015, 15:02
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Como fucionar estos dos codigos?

Directamente, como veo que lo intentas, no se puede.

Por ejemplo, si tengo un array con 4 objetos, cada uno con los atributos 'id' y 'mensaje' y quisiera que se asigne el mensaje A para los objetos cuyo 'id' es un número par y un mensaje B para los impares, solo haría esto:

Código Javascript:
Ver original
  1. var array = [{id: 1, mensaje: ""}, {id: 2, mensaje: ""}, {id: 3, mensaje: ""}, {id: 4, mensaje: ""}],
  2.     mensajeA = "Par", mensajeB = "Impar";
  3.  
  4. array.forEach(function(objeto){
  5.     if (objeto.id % 2 == 0){
  6.         objeto.mensaje = mensajeA;
  7.     }
  8.     else{
  9.         objeto.mensaje = mensajeB;
  10.     }
  11. });

Y si quieres escribir menos, puedes usar operadores ternarios en lugar de la estructura if.

Código Javascript:
Ver original
  1. objeto.mensaje = objeto.id % 2 == 0 ? mensajeA : mensajeB;

Aunque, para lo que dices que quieres obtener, lo que te aconsejé en el mensaje anterior te vendría muy bien.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Etiquetas: funcion
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:30.