2012-06-12 23 views
0

如何將數組名稱傳遞給函數並動態讀取值?Javascript從函數動態讀取數組值

動態我已經生成的陣列如下

fruits[0] = "Banana"; 
fruits[1] = "Orange"; 
fruits[2] = "Apple"; 

//超鏈接到激活下面

I have a function in hyeperlink <a href="javascript: activate('1', 'fruits')">Click Me</a> 

下面的功能是功能

function activate(idNumber, arrayName) 
{ 
    alert('id is:'+ idNumber); **//Working** 
    alert(arrayName[idNumber]); **//Not working must print fruits[1]** 

} 

回答

2

它取決於'水果'的定義範圍。

假設它是全球性的,window[arrayName]將得到它時arrayName=='fruits'。這是因爲window持有對所有全局對象的引用。

+0

非常感謝Bro!你救了我的一天!這一個完全解決了我的問題!乾杯!! –

1

您是PAS唱字母 「F」, 「R」, 「U」, 「I」, 「T」 和 「S」,而不是變量,只是從周圍的變量刪除引號:

<a href="javascript: activate('1', fruits)">Click Me</a> 
+0

HI Kranklin,是的,我嘗試直接傳遞水果,但它現在說undefined –

+0

你在哪裏定義'fruits'?您的代碼是否與您擁有的代碼完全相同,或者您是否擁有類似'fruits = []'的行,這些代碼位於作業之前?如果沒有,那就試試'fruits = [「Banana」,「Orange」,「Apple」]。否則,http://jsfiddle.net會很好地幫助弄清楚什麼是錯的。 – sparebytes