Skip to content

Instantly share code, notes, and snippets.

@anademata
Created December 10, 2012 16:47
Show Gist options
  • Save anademata/4251738 to your computer and use it in GitHub Desktop.
Save anademata/4251738 to your computer and use it in GitHub Desktop.
buscar el indice de un numero dentro de un array de n números que no empiecen en 0
var array = new Array(); //creo el array
var n0 = 185; //primer número del array = 185
var n1 = 317; //último número del array = 317
for (var i = 0; i <=(n1-n0); i++) { //para i=0, i menor o igual a (317-185), incremento i
array[i]=n0+i; //el índice del array el igual al primer número más i
};
var n = 288; // el número que quiero buscar es el 288
if (array[i]==n) { // si el indice del array coincide con el número que busco
console.log(i); // imprime en la consola el índice que coincide
};
if (numero < n0; numero > n1){ // si el número es menor que (185) o mayor que (317)
return "No existe"; // el número no está en el array
};
@anademata
Copy link
Author

Vale lo hemos hecho mal, esto sólo funciona si el número y el indice fuesen iguales... Ayuda!

@DeividSaenz
Copy link

Oye pero tienes que hacerlo todo en una función, que reciba parámetros, como tu 'n', 'n0' y 'n1' ¿no?

También revisa tus ifs, deberían ir dentro de un for, por que como lo tienes ahorita, cuando entra al primer if, i es igual a n1-n0 (que es cuando se detuvo el for) así que sólo va a revisar la posición n1-n0. Creo que esos dos ifs deberían ir dentro del for, no fuera.

@anademata
Copy link
Author

¿Así?

for (var i = 0; i <=(n1-n0); i++) {
array[i]=n0+i;
var n = 288;
if (array[i]==n) {
console.log(i);
};
if (numero < n0; numero > n1){
return "No existe";
};
};

@f3rn8nd0
Copy link

¡CREO QUE LO TENGO!

function lugar(x)
{
var array = new Array();
var n0 = 185;
var n1 = 317;

for (var i = 0; i <=n1; i++) {
array[i]=n0+i;


    if (array[i]==x) {
    console.log(i);
    };

};

};

Y eso que estoy viendo Adventure Time | (• ◡•)| (❍ᴥ❍ʋ)

@coreh
Copy link

coreh commented Dec 11, 2012

if (numero < n0; numero > n1) {

No se puede utilizar un punto y coma dentro del comando if en javascript. Lo que estas buscando es el operador ||.

El lenguaje también ofrece una función incorporada para hacer lo que ustedes quieren. La función indexOf.

var a = [34, 78, 92, 3, 7];

var pos = a.indexOf(92);

console.log(pos); // imprime `2`

@anademata
Copy link
Author

Gracias!
lo malo es que para este ejercicio no nos han dejado usar indexOf

@mariucagl
Copy link

| (• ◡•)| (❍ᴥ❍ʋ) jack y finn!! ♥
soy una invitada de ana que conste que no me he colado en vuestra fiesta!

@anademata
Copy link
Author

Vale, ahora no se como juntarlo todo...

@anademata
Copy link
Author

Pero Fer, acabo de darme cuenta de que eso sigue diciendo if (array[i]==x)
¿Eso quiere decir que sólo funciona si el índice y el número coinciden?

¿Como hacemos para que funcione aunque sean diferentes?

Entiendo que con el indexOf esto lo tendríamos solucionado...

@f3rn8nd0
Copy link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment