說我有兩個數組和一個整數。如何根據數字寫入多個數組?
var int = 1; //or 0 depending on other circumstances
var ar0 = [0]
var ar1= [1]
是否有一種方法可以使用整數來確定要寫入哪個數組?如果int = 1那麼我可以有東西沿線
'ar'+ int
那會選擇正確的數組?或者我需要一堆if語句? 我希望能夠識別和編輯我需要編輯的數組,這個數字是給我的。
說我有兩個數組和一個整數。如何根據數字寫入多個數組?
var int = 1; //or 0 depending on other circumstances
var ar0 = [0]
var ar1= [1]
是否有一種方法可以使用整數來確定要寫入哪個數組?如果int = 1那麼我可以有東西沿線
'ar'+ int
那會選擇正確的數組?或者我需要一堆if語句? 我希望能夠識別和編輯我需要編輯的數組,這個數字是給我的。
你要做的是建立一個環境。但是,您不能通過名稱訪問JavaScript中的變量環境中的變量,例如'ar' + int
。如果它在全球範圍內,通過使用window['ar'+int]
是可能的,但這是不好的做法,並且假定該變量是全局的。
你應該做的是將它們包裝在一個對象中,然後使用對象中的引用來定位該數組。
var int = 1;
var environmentObject = {};
environmentObject['ar0'] = [0];//string notation assignment example
environmentObject.ar1 = [1];//dot notation assignment example
,現在你可以很容易地通過名稱
訪問陣列var myarr = environmentObject[`ar`+int];
你可以使用一個eval
var int = 1;
var ar0 = [0];
var ar1 = [1];
eval('ar' + int).push(2);
console.log(ar1); // 1, 2
但它是一個不好的實踐。對於你的情況,如果你只有兩個整數(0,1)最好使用if
聲明:
if(int) { // 0 is falsy, 1 is truth
ar1.push(...);
} else {
ar0.push(...);
}
(int ? ar1 : ar0).push(...);
或'(int?ar1:ar2).push(...) – Oriol
的可能的複製[字符串轉換爲變量名稱在JavaScript中](http://stackoverflow.com/questions/5613834/convert-string-to-variable-name-in-javascript) – Leeish