Javascript lee los valores de matriz de la función dinámicamente
Frecuentes
Visto 719 veces
0
¿Cómo puedo pasar un nombre de matriz a una función y leer valores dinámicamente?
Dinámicamente he generado una matriz de la siguiente manera
fruits[0] = "Banana";
fruits[1] = "Orange";
fruits[2] = "Apple";
//Hipervínculo para activar la función a continuación
I have a function in hyeperlink <a href="javascript: activate('1', 'fruits')">Click Me</a>
A continuación se muestra la función
function activate(idNumber, arrayName)
{
alert('id is:'+ idNumber); **//Working**
alert(arrayName[idNumber]); **//Not working must print fruits[1]**
}
2 Respuestas
2
Depende del ámbito en el que se defina 'frutos'.
Suponiendo que sea mundial, window[arrayName]
lo conseguirá cuando arrayName=='fruits'
. Esto es porque window
contiene una referencia a todos los objetos globales.
Respondido el 12 de junio de 12 a las 22:06
1
Está pasando las letras "f", "r", "u", "i", "t" y "s" en lugar de la variable, simplemente elimine las comillas alrededor de la variable:
<a href="javascript: activate('1', fruits)">Click Me</a>
Respondido el 12 de junio de 12 a las 22:06
Hola, Kranklin, sí, intenté pasar frutas directamente, pero ahora dice indefinido: Yo 4U
Donde estas definiendo fruits
? ¿Es su código exactamente como lo que tiene o tiene una línea como fruits = []
eso es antes de las tareas? Si no, solo inténtalo fruits = ["Banana", "Orange", "Apple"]
. De lo contrario, un jsfiddle.net sería bueno ayudar a averiguar lo que está mal. - bytes de repuesto
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas javascript or haz tu propia pregunta.
¡Muchas gracias hermano! ¡Salvaste mi día! ¡Este solucionó exactamente mi problema! ¡¡Salud!! - Yo 4U