Foros del Web » Programando para Internet » Javascript »

Numero de argumentos variables

Estas en el tema de Numero de argumentos variables en el foro de Javascript en Foros del Web. Hola queria saber como diseñar una funcion que sume argumentos variables que esten separados por comas y que se trate de numeros reales. Y si ...
  #1 (permalink)  
Antiguo 17/02/2012, 16:51
 
Fecha de Ingreso: febrero-2012
Mensajes: 6
Antigüedad: 12 años, 9 meses
Puntos: 1
Numero de argumentos variables

Hola queria saber como diseñar una funcion que sume argumentos variables que esten separados por comas y que se trate de numeros reales. Y si puede ser usando eval(). Por ejemplo: 4, 1.5, -2 = 3.5
Muchas gracias de antemano y un saludo!
  #2 (permalink)  
Antiguo 17/02/2012, 17:03
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 7 meses
Puntos: 1485
Respuesta: Numero de argumentos variables

buenas,
¿por qué con eval? más allá de si es seguro o no, eval déjalo para ocasiones en que con la sintaxis de javascript no se pueda lograr. simplemente debes crear una función, posiblemente sin parámetros. dentro de la función, automaticamente se crea la variable arguments que representa una colección de todos los parámetros pasado a la función. luego lo recorres en un bucle -como en un array- realizando la operación necesaria. al final, devuelves el resultado.
  #3 (permalink)  
Antiguo 17/02/2012, 17:14
 
Fecha de Ingreso: febrero-2012
Mensajes: 6
Antigüedad: 12 años, 9 meses
Puntos: 1
Respuesta: Numero de argumentos variables

Hola, gracias por tu respuesta. De esa manera no tengo problema para hacerlo pero es que se trata de una funcion para clases y me pide que sea por eval() y la verdad no se ni como empezar. Un saludo y gracias!
  #4 (permalink)  
Antiguo 17/02/2012, 17:50
Avatar de Aijoona
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Buenos Aires
Mensajes: 779
Antigüedad: 13 años, 6 meses
Puntos: 343
Respuesta: Numero de argumentos variables

No entendí, te obligan a usar eval?

Btw, mi versión ecma 262-5 compatible:

Código Javascript:
Ver original
  1. var sumar = function() {
  2.     return [].slice.call(arguments).reduce(function(memo, current) {
  3.         return memo + current;
  4.     }, 0);
  5. };
  6.  
  7. sumar(1, 3, 4, -8, 4); // 4
__________________
blog | @aijoona
  #5 (permalink)  
Antiguo 17/02/2012, 17:59
 
Fecha de Ingreso: febrero-2012
Mensajes: 6
Antigüedad: 12 años, 9 meses
Puntos: 1
Respuesta: Numero de argumentos variables

Si, deberia ser con eval() y la verdad que nunca lo he utilizado. Gracias por ese codigo pero de esa manera si que he logrado hacer. Un saludo!
  #6 (permalink)  
Antiguo 17/02/2012, 18:19
Avatar de Aijoona
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Buenos Aires
Mensajes: 779
Antigüedad: 13 años, 6 meses
Puntos: 343
Respuesta: Numero de argumentos variables

Es un curso? facultad?

Podrías preguntarle a la persona cual es el objetivo del ejercicio?

EDIT: De cualquier manera, a fines didacticos, te diria que trates de hacerlo como sugirio zerokilled.
__________________
blog | @aijoona
  #7 (permalink)  
Antiguo 17/02/2012, 18:34
 
Fecha de Ingreso: febrero-2012
Mensajes: 6
Antigüedad: 12 años, 9 meses
Puntos: 1
Respuesta: Numero de argumentos variables

Buenas son practicas de la facultad y te pongo el enunciado.

E. Practicando con Eval()
Diseñar la siguiente función Suma(número de argumentos variables, separados por coma) que realice la suma de los números sean estos enteros o reales. Indicará si la entrada no tiene el formato solicitado.
  #8 (permalink)  
Antiguo 17/02/2012, 18:53
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 7 meses
Puntos: 1485
Respuesta: Numero de argumentos variables

no me queda muy claro cómo ahí podrías aplicar eval. me refiero, si la función recibe un número variable de parámetros tal que fn(arg0, arg1, ..., argN), entonces... en el cuerpo de la función, ¿cómo vas hacer referencia a cada uno de los elementos usando eval? si te pide eval, lo que se me ocurre es que conviertas la variable arguments a array y luego lo conviertas a string concatenando cada elemento (join) con un signo de más (+), y luego ese string lo pasas por eval.
  #9 (permalink)  
Antiguo 17/02/2012, 19:08
 
Fecha de Ingreso: febrero-2012
Mensajes: 6
Antigüedad: 12 años, 9 meses
Puntos: 1
Respuesta: Numero de argumentos variables

Es que sinceramente nunca he empleado la funcion Eval() para nada, me da que lo hare sin Eval() y ya vere lo que pasa. Muchas gracias por todo y perdon las molestias.
  #10 (permalink)  
Antiguo 17/02/2012, 19:09
Avatar de Aijoona
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Buenos Aires
Mensajes: 779
Antigüedad: 13 años, 6 meses
Puntos: 343
Respuesta: Numero de argumentos variables

Es pésima la consigna, y que te enseñen a usar eval en un curso introductorio tambien.
__________________
blog | @aijoona
  #11 (permalink)  
Antiguo 17/02/2012, 19:21
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 7 meses
Puntos: 1485
Respuesta: Numero de argumentos variables

@pablixo, eval no tiene misterio; lo que si tiene es mucho dolor de cabeza y tendencias a crear malas costumbres y prácticas. eval simplemente lo que hace es tomar un string y evaluarlo como si fuera un código javascript. el resultado de esa evaluación es lo que devuelve eval.
  #12 (permalink)  
Antiguo 17/02/2012, 19:33
 
Fecha de Ingreso: febrero-2012
Mensajes: 6
Antigüedad: 12 años, 9 meses
Puntos: 1
Respuesta: Numero de argumentos variables

Gracias por los comentarios! Un saludo.

Etiquetas: argumentos, funcion, numero, variables
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 16:40.