Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] orden array con valores null

Estas en el tema de orden array con valores null en el foro de Jquery en Foros del Web. Hola, Recibo una array de esta forma var array = ["0", "1", null, "2", "3", "4", "5", "6", "7", "8", "9", "10", "11"]; y uso ...
  #1 (permalink)  
Antiguo 08/03/2016, 10:00
 
Fecha de Ingreso: enero-2011
Ubicación: /root
Mensajes: 530
Antigüedad: 13 años, 3 meses
Puntos: 61
orden array con valores null

Hola,

Recibo una array de esta forma

var array = ["0", "1", null, "2", "3", "4", "5", "6", "7", "8", "9", "10", "11"];

y uso sort para ordenarlo, pero necesito que el valor null quede al final.
Código Javascript:
Ver original
  1. function Ordenanumeros(a,b) {
  2.                           return a-b;
  3.  
  4.                         }
  5.  
  6. array.sort(Ordenanumeros);

si alguien pudiese hecharme una mano se lo agradeceria.

Saludos
  #2 (permalink)  
Antiguo 09/03/2016, 07:40
 
Fecha de Ingreso: enero-2011
Ubicación: /root
Mensajes: 530
Antigüedad: 13 años, 3 meses
Puntos: 61
Respuesta: orden array con valores null

La solucion por si alguien le sirve

Código Javascript:
Ver original
  1. function OrdenarNumeros(a, b) {
  2.                           function chunkify(t) {
  3.                             var tz = new Array();
  4.                             var x = 0, y = -1, n = 0, i, j;
  5.  
  6.                             while (i = (j = t.charAt(x++)).charCodeAt(0)) {
  7.                               var m = (i == 46 || (i >=48 && i <= 57));
  8.                               if (m !== n) {
  9.                                 tz[++y] = "";
  10.                                 n = m;
  11.                               }
  12.                               tz[y] += j;
  13.                             }
  14.                             return tz;
  15.                           }
  16.  
  17.                           var aa = chunkify(a.toLowerCase());
  18.                           var bb = chunkify(b.toLowerCase());
  19.  
  20.                           for (x = 0; aa[x] && bb[x]; x++) {
  21.                             if (aa[x] !== bb[x]) {
  22.                               var c = Number(aa[x]), d = Number(bb[x]);
  23.                               if (c == aa[x] && d == bb[x]) {
  24.                                 return c - d;
  25.                               } else return (aa[x] > bb[x]) ? 1 : -1;
  26.                             }
  27.                           }
  28.                           return aa.length - bb.length;
  29.                         }

Etiquetas: null, orden
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 17:35.