Advertisement
rgman

Filtro de Paquetes

Aug 4th, 2015
189
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // ---
  2. // Este cรณdigo es el que recupera los
  3. // paquetes en JSON.
  4. // ---
  5. var paquetes = [];
  6. window.paquetesCallback = function(data) {
  7.     paquetes = data;
  8. };
  9. $.ajax({
  10.     type: 'get',
  11.     url: 'paquetes.js',
  12.     async: false,
  13. });
  14. // ---
  15. // ---
  16.  
  17. var idx, idxSalida, idxReg,
  18.     nuevoPaquete,
  19.     salida,
  20.     hotelRegimen,
  21.     cantSalidas,
  22.     cantHotelesReg,
  23.     hotelesAgregados,
  24.     paquetesFiltrados = [];
  25. for (idx in paquetes) {
  26.     nuevoPaquete = jQuery.extend(true, {}, paquetes[idx]);
  27.     hotelesAgregados = [];
  28.     cantSalidas = nuevoPaquete.paquete.salidas.length;
  29.     idxSalida = 0;
  30.     while (idxSalida < cantSalidas) {
  31.         salida = nuevoPaquete.paquete.salidas[idxSalida];
  32.         cantHotelesReg = salida.hoteles_regimenes.length;
  33.         idxReg = 0;
  34.         while (idxReg < cantHotelesReg) {
  35.             hotelRegimen = salida.hoteles_regimenes[idxReg];
  36.             if (hotelesAgregados.indexOf(hotelRegimen.hotel.nombre) === -1) {
  37.                 // El hotel no ha sido agregado al arreglo registro de hoteles.
  38.                 hotelesAgregados.push(hotelRegimen.hotel.nombre);
  39.                 idxReg++;
  40.             } else {
  41.                 nuevoPaquete.paquete.salidas[idxSalida].hoteles_regimenes.splice(idxReg, 1);
  42.                 cantHotelesReg--;
  43.             }
  44.         }
  45.        
  46.         if (cantHotelesReg > 0) {
  47.             idxSalida++;
  48.         } else {
  49.             nuevoPaquete.paquete.salidas.splice(idxSalida, 1);
  50.             cantSalidas--;
  51.         }
  52.     }
  53.     paquetesFiltrados.push(nuevoPaquete);
  54. }
  55. console.log(paquetesFiltrados);
  56. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement