Hola chicos, soy nuevo en el desarrollo de aplicaciones javasript ... He aprendido sobre objetos y matrices, y obtuve que los valores de las matrices pueden llamarse por índice, pero en objetos no es posible.
Así que he probado el código
name = ["dfsdf","sfdsf"]
var b = [[name,"DFDSF"]];
console.log(b[0].name);
Me da undefined
En lugar de devolver el nombre de la matriz.
Solo quiero saber como puedo acceder como b[index].nestedarrayname
.
Sería muy útil si proporcionara algunos códigos de ejemplo ... Gracias
Respuestas
0 para la respuesta № 1En cuanto a lo que no te quiero, quieres llamar. nombre , que es una matriz en sí misma, por lo que:
name = ["dfsdf","sfdsf"]
var b = [[name,"DFDSF"]];
tu puedes hacer :
1 - console.log(b[0][0]); // this will output an array which contains ["dfsdf","sfdsf"]
O
Debes cambiar tu estructura a esto:
name = ["dfsdf","sfdsf"]
var b = [
{"name": name} // the right one name, is your actual name array , so this is b[0]
,
"DSDSF" // this is b[1]
];
ahora puedes llamar:
console.log(b[0].name);
NOTA :
en javascript, puede llamar a un elemento iside una matriz por su índice, y puede llamar a una propiedad dentro de un objeto de dos maneras:
1 - Usar. (Punto) como: object.property
2 - Usando [""] como: objeto ["propiedad"]
1 para la respuesta № 2
Si desea que sea una matriz "asociativa", tendría que convertir el elemento de matriz en un objeto:
var b = [{name:"DFDSF"}];
console.log(b[0].name);
0 para la respuesta № 3
Cuando intenta acceder a una propiedad a través de .
operador, JavaScript espera que el objeto (un formación en este caso) tener una propiedad real con ese nombre. Los arrays tienen índices enteros en JavaScript, por lo que para acceder a ellos tal como es, usted querrá:
console.log(b[0][0]);
Sin embargo, si usted hacer Si desea una matriz asociativa, puede crear los subíndices como objetos (piense en el formato JSON):
var b = [{"name": name}, "DFDSF"];
console.log(b[0].name); // b[0] is the object {"name": name}
// b[1] is the string "DFDSF"