[英]How do I use a variable to build an array name?
我有幾組數組。 每組以相同的單詞開頭:
var firstarrayquestions = ["", "", ""];
var firstarrayanswer1 = ["", "", ""];
var firstarrayanswer2 = ["", "", ""];
var secondarrayquestions = ["", "", ""];
var secondarrayanswer1 = ["", "", ""];
var secondarrayanswer2 = ["", "", ""];
(...等等...)
這可能是一個有明顯解決方案的問題,但如果我想要一個處理每個數組顯示問題和答案的函數,我該怎么編碼呢? 像這樣的東西:
function handleQuestion(myStr) {
var randomstart = 0; //just for example
$('#question').text(myStr + arrayquestions[randomstart]);
$('#q1').text(myStr + arrayanswer1[randomstart]);
$('#q2').text(myStr + arrayanswer2[randomstart]);
}
handleQuestion('first');
非常感謝!
如果你知道范圍,你可以使用括號表示法
function handleQuestion(myStr) {
var randomstart = 0; //just for example
$('#question').text(window[myStr + 'arrayquestions'][randomstart]);
$('#q1').text(window[myStr + 'arrayquestions'][randomstart]);
$('#q2').text(window[myStr + 'arrayquestions'][randomstart]);
}
handleQuestion('first');
但為什么不使用一個對象
var questions = {
first: {
questions : ["", "", ""],
answer1 : ["", "", ""],
answer2 : ["", "", ""]
},
second: {
...etc
}
}
這樣你就可以訪問它們:
function handleQuestion(myStr) {
var randomstart = 0; //just for example
var obj = questions[myStr];
$('#question').text(obj.questions[randomstart]);
$('#q1').text(obj.answer1[randomstart]);
$('#q2').text(obj.answer2[randomstart]);
}
handleQuestion('first');
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.