1
我有以下情形:訪問變量名動態
if (event.status == AMFResultEvent.SUCCESS) {
var lev1:uint = 0;
var lev2:uint = 0;
var lev3:uint = 0;
var lev4:uint = 0;
var lev5:uint = 0;
var lev6:uint = 0;
for (var i:int = 0; i < event.result.length; i++) {
if (mainLevel == "1") {
lev1++;
}
if (mainLevel == "2") {
lev2++;
}
if (mainLevel == "3") {
lev3++;
}
if (mainLevel == "4") {
lev4++;
}
if (mainLevel == "5") {
lev5++;
}
if (mainLevel == "6") {
lev6++;
}
}
for (var j:int = 1; j < 7; j++) {
_row = new StatisticsRow(event.result[j], this);
_rowsPlace.addChild(_row);
_row.y = (_row.height +1) * j;
_row.codeLevel.htmlText = j; // works as it should
// need to access variables lev1 - lev6, called by something like "lev"+j here:
_row.amount.htmlText =
}
// traces correct amounts of mainLevels from the i loop:
trace ("level 1: " + lev1);
trace ("level 2: " + lev2);
trace ("level 3: " + lev3);
trace ("level 4: " + lev4);
trace ("level 5: " + lev5);
trace ("level 6: " + lev6);
}
我缺少的東西在這裏很明顯,作爲[ 「利」] + J doen't工作。我如何動態訪問j循環中的lev1 - lev6?正如底部的代碼註釋所示,這符合預期。
在此先感謝!
謝謝。我對這個話題的缺點表示歉意,但我無法完成工作。首先,應該輸入var currLev?其次,如果我使用這個關鍵字,我得到錯誤#1069:在ClassName上找不到屬性lev1。我需要引用頂部創建的變量,以某種方式將j添加到j循環中。 –
儘量讓你的課程'動態'。 – Fygo
這是一個相當龐大的課程,所以我寧願不改變它自己的課程,如果我不需要的話。沒有辦法通過操作變量名中的數字來引用已經創建的變量嗎? 如果我寫'_row.amount.htmlText = lev1;'該行解析它應該,但當然分配lev1值到所有行。所以我只需要通過從j循環中分配j來改變變量末尾的數字。我認爲問題是語法? –