Código :
var paises = [{name:'Argentina', captial:'Buenos Aires'}, {name:'Mexico', capital:'Mexico'}, {name:'España', capital:'Madrid'},........]
Si tenemos el nombre del pais y queremos la capital de ese pais podemos revisar cada objeto en el array y cuando encontremos el nombre del pais tendremos la capital esto se puede hacer asi:
Código :
var pais = 'mexico'; var capital = null; for (var iPais = 0; iPais < paises.length; iPais++) { if (pais.toLowerCase() == paises[iPais].name.toLowerCase()) { capital = paises[iPais].capital; } }
Esto funciona perfectamente pero si el pais lo encontramos inmediatamente y el array tiene 1000 elementos de todas maneras compara 1000 veces, que podemos hacer? Podemos usar break que rompera el ciclo en el que esta dentro (si tiene ciclo adentro de ciclo, solo rompera el de mas adentro). Nnuestro codigo queda asi:
Código :
var pais = 'mexico'; var capital = null; for (var iPais = 0; iPais < paises.length; iPais++) { if (pais.toLowerCase() == paises[iPais].name.toLowerCase()) { capital = paises[iPais].capital; } } alert("La capital de " + pais + " es " + capital);
En el proximo tip analizaremos como funciona la busqueda en una funcion, y romper con return, y que hacer si no encontramos el pais