[英]Javascript using variable as array name
我在Javascript中有幾個數組,例如
a_array [0] =“ abc”;
b_array [0] =“ bcd”;
c_array [0] =“ cde”;
我有一個采用數組名稱的函數。
function perform(array_name){
array_name = eval(array_name);
alert(array_name[0]);
}
perform("a_array");
perform("b_array");
perform("c_array");
當前,我使用eval()做我想要的事情。
有沒有不使用eval()的方法?
您可以傳遞數組本身:
function perform(array) {
alert(array[0]);
}
perform(a_array);
或通過this
訪問它:
function perform(array_name) {
alert(this[array_name][0]);
}
perform('a_array');
不用通過eval
其名稱來選擇數組,而是將數組存儲在一個對象中:
all_arrays = {a:['abc'], b:['bcd'], c:['cde']};
function perform(array_name) {
alert(all_arrays[array_name][0]);
}
您為什么不能只傳遞數組?
function perform(array){
alert(array[0]);
}
perform(a_array);
perform(b_array);
perform(c_array);
還是我誤解了這個問題...
為什么不將數組作為函數參數傳遞呢?
function perform(arr){
alert(arr[0]);
}
我相信您創建的任何變量實際上都是window對象的屬性(我假設是因為您使用了警報,表明它正在Web瀏覽器中運行)。 你可以這樣做:
alert(window[array_name][0])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.