Foros del Web » Programando para Internet » Javascript »

Alguien sabe algo de Arrow functions?

Estas en el tema de Alguien sabe algo de Arrow functions? en el foro de Javascript en Foros del Web. Hola estoy en una página de desafíos y he completado uno y me causó duda saber si se puede escribir la misma función utilizando menos ...
  #1 (permalink)  
Antiguo 01/03/2016, 13:22
 
Fecha de Ingreso: junio-2011
Mensajes: 289
Antigüedad: 12 años, 10 meses
Puntos: 15
Alguien sabe algo de Arrow functions?

Hola estoy en una página de desafíos y he completado uno y me causó duda saber si se puede escribir la misma función utilizando menos carácteres....

Preguntando me han sugerido que use "Arrow functions"... alguien sabe como transformar esto o utilizar menos caracteres? xD


Código Javascript:
Ver original
  1. function makeBricks (small, big, goal) {
  2.     return  (goal>5*big+small || goal %5>small ) ? 0 : 1
  3. }
  #2 (permalink)  
Antiguo 01/03/2016, 17:01
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Alguien sabe algo de Arrow functions?

Esta es una buena explicación https://developer.mozilla.org/es/doc...rrow_functions
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #3 (permalink)  
Antiguo 01/03/2016, 17:25
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: Alguien sabe algo de Arrow functions?

Para casos como este, no tiene mucho sentido que digamos el ahorrarse unas cuántas líneas de código, pero con las flechas sería más o menos así:
Código Javascript:
Ver original
  1. "use strict";
  2. var makeBricks = (small, big, goal) => (goal > 5 * big + small || goal % 5 > small) ? 0 : 1;

__________________
«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
  #4 (permalink)  
Antiguo 02/03/2016, 05:49
 
Fecha de Ingreso: junio-2011
Mensajes: 289
Antigüedad: 12 años, 10 meses
Puntos: 15
Respuesta: Alguien sabe algo de Arrow functions?

No es ahorrarse lineas de código por que sí, es parte del desafío xD es solo un juego pero me interesó saber algo de Arrow functions...
  #5 (permalink)  
Antiguo 02/03/2016, 12:20
 
Fecha de Ingreso: diciembre-2015
Mensajes: 8
Antigüedad: 8 años, 3 meses
Puntos: 1
Respuesta: Alguien sabe algo de Arrow functions?

Estás seguro que quieres utilizar "arrow functions"? La compatibilidad de estas, al ser de ES6, es pésima (aún), de hecho prácticamente no hay soporte en móviles.

Si quieres "recortar código" mejor quita el operador ternario.

Con "arrow functions":
Código Javascript:
Ver original
  1. var makeBricks = (small, big, goal) => (goal > 5*big+small || goal%5 > small) ? 0 : 1;

Sin el ternario:
Código Javascript:
Ver original
  1. function makeBricks (small, big, goal)
  2. {
  3.     return !(goal > 5*big+small || goal%5 > small);
  4. }

Con "arrow functions" y sin ternario:
Código Javascript:
Ver original
  1. var makeBricks = (small, big, goal) => !(goal > 5*big+small || goal%5 > small);

Por cierto, puedes decir cual es la finalidad de la función para ver si se puede hacer de otra forma. El código se entiende pero no es que diga mucho.
Un ejemplo de su uso no estaría mal.

Última edición por prisla15; 02/03/2016 a las 12:27
  #6 (permalink)  
Antiguo 02/03/2016, 12:40
 
Fecha de Ingreso: junio-2011
Mensajes: 289
Antigüedad: 12 años, 10 meses
Puntos: 15
Respuesta: Alguien sabe algo de Arrow functions?

Como dije, es un juego (un desafio) no lo utilizaría para programación de apps. Me pareció entretenido estos juegos que encontré y quería saber como acortar el código...


Por ejemplo tengo este otro que también debo acortar

Código Javascript:
Ver original
  1. ClosedBracketWord = (x) => {
  2.     for(i in x)
  3.         if(x[i].charCodeAt(0)-97 != 122-x[x.length-i-1].charCodeAt(0))
  4.             return 0
  5.          return 1
  6.  }

Creo que debo quitarle 20 caracteres para alcanzar el optimo xd
  #7 (permalink)  
Antiguo 03/03/2016, 13:13
 
Fecha de Ingreso: diciembre-2015
Mensajes: 8
Antigüedad: 8 años, 3 meses
Puntos: 1
Respuesta: Alguien sabe algo de Arrow functions?

Cual es la intención de la función esa? Si hace lo que debería, no hay forma de hacerla mas corta.

La única opción es que no haga lo que te piden.
  #8 (permalink)  
Antiguo 03/03/2016, 13:26
 
Fecha de Ingreso: junio-2011
Mensajes: 289
Antigüedad: 12 años, 10 meses
Puntos: 15
Respuesta: Alguien sabe algo de Arrow functions?

La primera era para saber si se podía llegar al valor "goal" a partir de la combinación de valores de las otra funciones, la otra función era para saber (en un string) si las letras estaban en la misma posición que su contra parte, es decir si el string era "abyz" a era el contrario de z y b el contrario de y (según el abcdario)


Como dije, son desafíos que se plantean que constan de 2 partes

1.- Resolver el problema
2.- Encontrar la forma de escribir la función usando la menor cantidad de caracteres posibles

Etiquetas: Ninguno
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 13:42.