Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] ordenar objeto por valor de aproximación

Estas en el tema de ordenar objeto por valor de aproximación en el foro de Javascript en Foros del Web. Muy Buenas Tengo un problemita que no puedo resolver en teoria deveria ser sencillo pero me esta complicando la vida Bueno el caso es que ...
  #1 (permalink)  
Antiguo 18/05/2016, 08:57
Avatar de Lynxcraft  
Fecha de Ingreso: noviembre-2007
Ubicación: yecla murcia
Mensajes: 1.346
Antigüedad: 16 años, 5 meses
Puntos: 51
ordenar objeto por valor de aproximación

Muy Buenas

Tengo un problemita que no puedo resolver
en teoria deveria ser sencillo pero me esta complicando la vida
Bueno el caso es que necesito ordenar objetos según el valor mas proximo de X

Código Javascript:
Ver original
  1. //Rangos que tengo que reordenar
  2. var rank=[
  3.     {id:"x1",value:70},
  4.     {id:"x2",value:80},
  5.     {id:"x3",value:20},
  6.     {id:"x4",value:50}
  7. ]
  8. function OrderForValueAprox(rank, value){
  9.     //—    
  10. }
  11.  
  12. //resultado de valores
  13. var res1 = OrderForValueAprox(rank, 20);
  14. res1 = [
  15.     {id:"x3",value:20},
  16.     {id:"x4",value:50},
  17.     {id:"x1",value:70},
  18.     {id:"x2",value:80}
  19. ]
  20. var res2 = OrderForValueAprox(rank, 79);
  21. res2 = [
  22.     {id:"x2",value:80},
  23.     {id:"x1",value:70},
  24.     {id:"x4",value:50},
  25.     {id:"x3",value:20}
  26. ]
  27.  
  28. var res3 = OrderForValueAprox(rank, 71);
  29. res3 = [
  30.     {id:"x1",value:70},
  31.     {id:"x2",value:80},
  32.     {id:"x4",value:50},
  33.     {id:"x3",value:20}
  34. ]
  35.  
  36. var res4 = OrderForValueAprox(rank, 45);
  37. res4 = [
  38.     {id:"x4",value:50},
  39.     {id:"x3",value:20}
  40.     {id:"x1",value:70},
  41.     {id:"x2",value:80},
  42.  
  43. ]

A ver si a alguien se le ocurre de como resolverlo les estaría muy agradecido
__________________
Sobran las ideas cuando faltan ganas de trabajar en ellas
Lynxcraft
  #2 (permalink)  
Antiguo 18/05/2016, 11:18
 
Fecha de Ingreso: julio-2006
Ubicación: Barcelona
Mensajes: 244
Antigüedad: 17 años, 9 meses
Puntos: 32
Respuesta: ordenar objeto por valor de aproximación

Código Javascript:
Ver original
  1. function OrderForValueAprox(rank, value) {
  2.     return rank.sort(function (a, b) {
  3.          return Math.abs(a.value - value) - Math.abs(b.value - value)
  4.     })
  5. }

Creo que con algo así valdría. No lo he testeado.

Saludos!
__________________
github.com/xgbuils | npm/xgbuils
  #3 (permalink)  
Antiguo 18/05/2016, 12:44
Avatar de Lynxcraft  
Fecha de Ingreso: noviembre-2007
Ubicación: yecla murcia
Mensajes: 1.346
Antigüedad: 16 años, 5 meses
Puntos: 51
Respuesta: ordenar objeto por valor de aproximación

Perfecto tio muchas gracias
__________________
Sobran las ideas cuando faltan ganas de trabajar en ellas
Lynxcraft

Etiquetas: objeto, valor
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 11:17.