Ver Mensaje Individual
  #6 (permalink)  
Antiguo 07/11/2014, 21:39
Avatar de Beatzoo
Beatzoo
 
Fecha de Ingreso: septiembre-2009
Ubicación: Retire Hill
Mensajes: 27
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: DUDA: indexOf()-lastIndexOf()

Gracias HackmanC,

En cuanto a lo de la busqueda del elemento desde el principio o desde el final, de acuerdo. Cuando lei el mensaje despues de escribirlo me di cuenta de la tonteria xD.

En tu ultimo parrafo haces referencia a la posicion de elemento, entiendo que esto es el indice, y si, a espera de que me lo confirmes, dudo que se rija el lastIndexOf por el length, ya que entonces no comprenderia el uso del mismo metodo pero con el argumento que indica el indice en el que se empieza a buscar el elemento.

Pero me vas a perdonar, pero sigo sin entender el funcionamiento, porque segun me dices, los dos metodos son iguales, solo que uno empieza a buscar por la derecha y el otro por la izquierda. Pero entonces, segun mi logica, los indices para "apple" con un lastIndexOf serian 0 o 2, pero un 3? No lo pillo, seguro es una tonteria, esto me pasa muy a menudo me encanta liarme gratuitamente

Os pongo el siguiente parrafo, que habla sobre lo mismo, pero usando un argumento con el indice del array desde el que se comenzara la busqueda:


A second argument can be provided to either method to specify an index from which to begin searching. This allows indexOf() or lastIndexOf() to skip previous instances of an item and only return the index of the first item it finds starting from the specified index. For example, consider this code:

var fruits = ["oranges", "apples", "pears", "apples"];
var found_apples = fruits.indexOf("apples", 2);
window.alert(found_apples);
found_apples = fruits.lastIndexOf("apples", 1);
window.alert(found_apples);

In this case, calling fruits.indexOf(“apples”, 2) begins the search from front to back at index 2 rather than index 0. This means that it will bypass the first instance of “apples” at index 1, start the search at index 2, and return 3, since the next instance of “apples” is at index 3. Calling lastIndexOf(“apples”, 1) begins the search from index 1 and proceeds toward the front. In this case, the “apples” at index 3 is skipped and the search begins at index 1, where it finds “apples” and returns 1.

Gracias a todos y disculpad que no ponga tildes ahora mismo, pero estoy en un teclado que no es espanol.