Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/03/2018, 10:47
pedromir
 
Fecha de Ingreso: enero-2014
Mensajes: 91
Antigüedad: 10 años, 4 meses
Puntos: 2
Comparar 2 arrays segun condicion

Hola a tod@s

Tengo 2 arrays y necesito recorrer todos los elementos de un array e ir comparando con todos los valores del segundo array pero en este array se tiene que cumplir la condición de que el elemento (datos[j][4]!="") no esté vacio

Código Javascript:
Ver original
  1. //Esta sería la condición a incluir
  2. //if(datos[j][0].substr(0,2) && datos[j][4]!=""){  
  3.  
  4.   function comprobar() {    
  5.     mostrarRepes=[];           
  6.        
  7.     arrayCat2=eval("am_" + item.codigo)
  8.  
  9.     elemA=0;       
  10.  
  11.         // recorremos los valores del array arrayCat2
  12.         for(i=0;i<arrayCat2.length;i++){           
  13.             // recorremos los valores del array datos
  14.                        
  15.             for(j=0;j<datos.length;j++){                
  16.                 // Cada valor del array arrayCat lo comparamos con todos los valores del array datos
  17.                //Esto es lo que tendría que hacer
  18.                //if (arrayCat2[i][0]==datos[j][0].substr(0,2)) && datos[j][4]!=""){
  19.                if (arrayCat2[i][0]==datos[j][0].substr(0,2))
  20.                                   elemA++;
  21.             }
  22.             if (elemA!=0)
  23.                 mostrarRepes.push(arrayCat2[i]);
  24.                
  25.                 elemA=0;
  26.                    
  27.         }
  28.     return mostrarRepes
  29.  }
El array arrayCat2 son varios y utilizo uno u otro en función de la variable que recibo desde otra función a través de un evento onclick y al hacer el recorrido del array datos datos[j][0] cuando encuentra un código que no tiene el array correspondiente me sale el mensaje de array undefined y para evitar esto le puesto la condición de que el elemento datos[j][4] tenga contenido y esta es la solución que se me ha ocurrido, así que me imagino que para que funcione tengo que crear un nuevo array con los elementos que cumplan dicha condición y sobre este nuevo array hacer la comparación, pero no se como hacer todo esto en un única función, espero que podáis ayudarme