let secretMessage = ['Learning', 'is', 'not', 'about', 'what', 'you', 'get', 'easily', 'the', 'first', 'time,', 'it', 'is', 'about', 'what', 'you', 'can', 'figure', 'out.', '-2015,', 'Chris', 'Pine,', 'Learn', 'JavaScript']; console.log(secretMessage.indexOf('get','easily')¿Por qué solo registra el valor de 'obtener', no tanto 'obtener' como 'fácilmente', y cómo puedo devolver ambos?
Agradezco la ayuda, soy un principiante, lo siento si el formato es malo.
Puede mapear indexOf sobre la lista de valores cuyos índices se desean:
let secretMessage = ['Learning', 'is', 'not', 'about', 'what', 'you', 'get', 'easily', 'the', 'first', 'time,', 'it', 'is', 'about', 'what', 'you', 'can', 'figure', 'out.', '-2015,', 'Chris', 'Pine,', 'Learn', 'JavaScript']; console.log(['get', 'easily'].map(x => secretMessage.indexOf(x)));La sintaxis de la función .indexOf() es la siguiente indexOf(searchElement, fromIndex) por lo que eso significa en su caso que busca "obtener" a partir de "fácilmente" en la matriz.
Para buscar ambos puedes probar esto
console.log(secretMessage.indexOf('get')); console.log(secretMessage.indexOf('easily'));y si los necesita juntos, puede asignar cada uno a una variable y luego mostrarlos juntos más tarde, algo como esto
let one = secretMessage.indexOf('get'); let two = secretMessage.indexOf('easily'); let result = one + "," + two console.log(result);indexOf es un método de matriz de JavaScript que solo puede buscar un elemento a la vez, independientemente del valor que se busque en la matriz.
Un método de matriz más flexible para devolver los índices de lo que está buscando sería reduce , que le permite devolver cualquier valor que desee después de iterar, incluida otra matriz con los índices de los valores que coinciden con su búsqueda.
let secretMessage = ['Learning', 'is', 'not', 'about', 'what', 'you', 'get', 'easily', 'the', 'first', 'time,', 'it', 'is', 'about', 'what', 'you', 'can', 'figure', 'out.', '-2015,', 'Chris', 'Pine,', 'Learn', 'JavaScript']; const matchingIndices = secretMessage.reduce((results, currentValue, currentIndex)=> { if (currentValue === 'get' || currentValue === 'easily'){ results.push(currentIndex) } return results; }, []) console.log(matchingIndices) // => [6, 7]