JavaScript - No me funciona Arrays

 
Vista:
sin imagen de perfil

No me funciona Arrays

Publicado por Pelukoso (6 intervenciones) el 20/09/2017 22:02:50
A ver si alguien puede solucionar este pequeño problema

Tengo este pequeño trozo de código el cual hace referencia a una caja de texto donde colocas un nombre
La variable "nombre" es el atributo que metes en el input
1
2
if (nombre || nombres) {
    console.log("Te llamas " + nombre);

y encima de este código tengo una variable llamada nombres en el cual tengo varios arrays

1
var nombres = ["alejandro", "anabel", "aaron", "amaya", "ana"];

Lo que necesito es un operador lógico que cuando la var "nombre" tengo uno de los nombres de la variable Nombres entonces sea true. De lo contrario salte else

Con el operador == evidentemente me salta false cuando introduzco un solo nombre
Con el ooperador || siempre salta true, aunque meta un nombre que no este en la variable nombres
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 183
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

No me funciona Arrays

Publicado por Yamil Bracho (78 intervenciones) el 20/09/2017 22:18:50
Puedes usar indexOf, que te retorna la posicion del texto dentro del arreglo.

1
2
3
var nombres = ["alejandro", "anabel", "aaron", "amaya", "ana"];
var a = nombres .indexOf("ana");
console.log(a);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

No me funciona Arrays

Publicado por Pelukoso (6 intervenciones) el 20/09/2017 22:41:30
mmm creo que no es lo que estaba buscando

Necesito algo para cuando var nombre tenga un valor que coincida con uno o varios de los valores dentro de la var nombres
me de true, en caso de no haber ninguna coincidencia de false
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 183
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

No me funciona Arrays

Publicado por Yamil Bracho (78 intervenciones) el 20/09/2017 22:59:38
te retorna -1 si no consiguio nombre en nombres:

1
2
3
4
5
6
7
var nombres = ["alejandro", "anabel", "aaron", "amaya", "ana"];
var pos = nombres .indexOf("ana");
if (pos == -1) {
console.log("No encontrado")
} else {
  console.log("encontrado")
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

No me funciona Arrays

Publicado por Pelukoso (6 intervenciones) el 20/09/2017 23:38:03
Perdona molestarte tanto

Ahora entiendo lo que hace .indexOf, pero no me funciona, siempre salta false, y no paro de investigar mirando letra por letra a ver que es lo que puede salir mal.
Si no es mucha molestia te dejo el .js entero aquí por si me puedes aclarar que es lo que esta pasando

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//boton para la funcion de abajo
var boton = document.getElementById("boton");
boton.addEventListener("click", descubrir);
//
var nombres = ["alejandro", "anabel", "aaron", "amaya", "ana"];
var pos = nombres.indexOf("ana");
 
function descubrir() {
  var nombre = document.getElementById("nombre").value;
  if (pos == -1) {
    console.log("No encontrado")
 }
  else {
  console.log("Encontrado");
  }
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 36
Ha aumentado 1 puesto en JavaScript (en relación al último mes)
Gráfica de JavaScript

No me funciona Arrays

Publicado por Andrés (9 intervenciones) el 21/09/2017 00:06:45
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//boton para la funcion de abajo
var boton = document.getElementById("boton");
boton.addEventListener("click", descubrir);
 
var nombres = ["alejandro", "anabel", "aaron", "amaya", "ana"];
 
function descubrir() {
    var nombre = document.getElementById("nombre").value;
    var pos = nombres.indexOf(nombre);
    if (pos == -1) {
        console.log("No encontrado");
    }else {
        console.log("Encontrado");
    }
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil

No me funciona Arrays

Publicado por Pelukoso (6 intervenciones) el 21/09/2017 00:12:39
Por fin!!!

Muchas gracias por ayudarme, estoy muy verde en js
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar