2017-02-27 57 views
-2

所以我有這19個變數,「isTaken1-19」我一切設置要經過這個功能在JavaScript結合的變量名稱以數字

function addtoList(localItemCode){ 

     if(checkForDuplicate(localItemCode) == 1){ 
      document.getElementById('listItem' + (listTracker+1)).innerHTML = whatToSay; 
      document.getElementById('amountItem' + (listTracker+1)).innerHTML = isTaken; 
      listTracker += 1; 
      addOne(localItemCode); 
     }else if(checkForDuplicate(localItemCode) == 0){ 
      addOne(localItemCode); 
     } 
} 

,但對「的getElementById('amountItem '+(listTracker + 1))。innerHTML = isTaken;而不只是isTaken我希望它是isTaken + localItemCode,意思就是知道它是否istaken1,isTaken2,isTaken5,等等('listItem'+(我想我要做的是連接?我會使用一個數組,如果需要的話,我只是想要的數組,見我這是可能的。

+1

請創建[MCVE] - 你不解釋什麼是你的當前值AFAICS –

+3

的,最好的辦法是使用** **的對象來包裝你的變量,並訪問一個你想通過**鍵**。 –

+0

因爲我假設我明白你需要做一個eval的字符串? – abdoutelb

回答

1

作爲一個例子,我在上面已經評論說:

// The var wrapper varWrapper that wrap the vars in a wrapping object. So vars will be wrapped in varWrapper ... 
 
var varWrapper = {}; 
 

 
// add variables like this 
 
varWrapper["isTaken-1"] = 11.5; 
 
varWrapper["isTaken-2"] = "this is number 2"; 
 
// ... 
 
varWrapper["isTaken-101"] = true; 
 

 
// the number of the variable you want 
 
var num = 2; 
 

 
// log it 
 
console.log(varWrapper["isTaken-" + num]);

您可以添加所有類型的你想要的變量名。即使是這樣:

varWrapper["isTaken-genisis"] = "text"; 
+0

這是完美的謝謝你,這將清理我的代碼一噸。 –