Tus datos están mal formados, deberías usar un array de objetos y no array de arrays
por ejemplo
Código Javascript
:
Ver originaldatos:[
{nombre:'Jose', ciudad:'tamuin', pais:'mexico', color:'rojo'},
{nombre:'Albert', ciudad:'la chingada', pais:'españa', color:'amarillo'},
{nombre:'Antonio', ciudad:'tzinzunzan', pais:'alemania', color:'blanco'},
{nombre:'Manuel', ciudad:'tepic', pais:'mexico', color:'negro'},
{nombre:'Margarita', ciudad:'cedral', pais:'españa', color:'azul'},
]
de esa forma podrías utilizar
Array Filter
que es tan fácil como poner
Código Javascript
:
Ver originalvar txtNombre = document.getElementById("nombre").value;
if(txtNombre.length){
datos = datos.filter(item => {
return datos.nombre === txtNombre;
});
}
if(txtApellido.length){
datos = datos.filter(item => {
return datos.apellido === txtApellido;
});
if(buscarCiudad.length){
datos = datos.filter(item => {
return datos.ciudad === buscarCiudad;
});
// al final despues de los if y filtros obtenemos el resultado unicamente con los valores deseados
console.log(datos);