Javascript lee los valores de matriz de la función dinámicamente

¿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]**

}

preguntado el 12 de junio de 12 a las 22:06

2 Respuestas

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

¡Muchas gracias hermano! ¡Salvaste mi día! ¡Este solucionó exactamente mi problema! ¡¡Salud!! - Yo 4U

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 or haz tu propia pregunta.