2015-06-26 41 views
-1

我試圖編寫一個函數來接受一個字符串作爲輸入(一些進來的字符串實際上是數組的名稱),並將在HTML菜單中創建一個條目與該字符串。主要的麻煩是我有一個數組與每個字符串相關聯,但數組的名稱是字符串+「txt」。到目前爲止,我所做的工作涉及調用第一個函數,該函數接受字符串的參數以及它讀入的數組的層次(因爲它們是嵌套數組),目標是傳遞給另一個函數,字符串,以及帶有附加「txt」的字符串,但是當我爲字符串指定一個數組的名稱時,我給它指定了一個「string +'txt'」的值時會遇到問題,因爲javascript只會將「txt」添加到數組作爲元素。使用Javascript的數組的菜單生成器

我已經試過這樣:

function splitName(name, level) { 
    var arg1 = name; 
    var arg2 = name + "txt"; 
    generateMenu(name, arg1, arg2, level); 
} 

總之,我想知道,如果有,我可以拉出來的數組作爲字符串的名稱和操作一個呢?

請對任何問題或者任何不清楚的地方發表評論。我對編程有點新鮮。

+1

發佈一些代碼也是很好的習慣,這樣社區就可以看到你已經完成了什麼並給出了更準確的幫助! – G4bri3l

+0

感謝您的提升!我加入了迄今爲止的嘗試。 – JoDraX

+0

當你說「(一些進來的字符串實際上是數組的名字)」時,你的意思是什麼,「因爲你解釋的行爲是將一個數組傳遞給你的函數而不是一個字符串。所以問題不在於這個函數,而在於你傳遞給它的值。如果你有var array_name = [...一些數據..]然後你傳遞array_name到你的函數,那麼你傳遞了一個數組而不是一個字符串。檢查了這個http://stackoverflow.com/questions/4602141/variable-name-as-a-string-in-javascript – G4bri3l

回答

0

這裏是你可以做什麼:

如果你能找到一種方法,使變量名在這樣一個對象的屬性值,

var names = { 
    blah1: 'name1', 
    blah2: 'name2', 
    blah3: 'name3' 
}; 

你可以訪問這樣的值(將陣列名稱):

for (var i in names){ 
    alert(i); 
    alert(obj[i]); 
} 

我會再次發佈,如果我能找到一種方法來做到這一點。

現在,

在這個問題上另一篇文章可以在這裏找到:

How to convert variable name to string in JavaScript?

+0

從它看起來,您需要將數組定義爲對象中的屬性。看起來你不能訪問其他名稱。 – DITTO