Создание различного количества параметров в объекте путем динамического присвоения их имени? - PullRequest
1 голос
/ 04 августа 2011

Как бы я написал процедуру, которая создаст этот массив так, чтобы я мог выбрать столько имен параметров, как KBP? Я хотел?

public var expenses:ArrayCollection = new ArrayCollection([
    {Impact:"A", KBP1:1, KBP2:0, KBP3:0, KBP4:0 },
    {Impact:"B", KBP1:0, KBP2:0, KBP3:0, KBP4:0 },
    {Impact:"C", KBP1:0, KBP2:2, KBP3:3, KBP4:0 },
    {Impact:"D", KBP1:0, KBP2:0, KBP3:0, KBP4:8 },
    {Impact:"E", KBP1:0, KBP2:0, KBP3:0, KBP4:0 }
]);

Ответы [ 2 ]

2 голосов
/ 04 августа 2011

Что-то вроде следующего:

var arrayLength:int = 100;
var kbpsLength:int = 50;
var expensesArray:Array = [];
for (var i:int = 0; i < arrayLength; i ++)
{
    var item:Object = {Impact:"A"};
    for (var j:int = 0; j < kbpsLength; j ++)
    {
        item["KBP" + (j + 1)] = 0;
    }
    expensesArray.push(item);
}
var expenses:ArrayCollection = new ArrayCollection(expensesArray);
1 голос
/ 04 августа 2011

Это мое понимание вашего вопроса. Если это не то, что вы ищете, не стесняйтесь уточнять.

var expenses:ArrayCollection = new ArrayCollection();

(loop conditions?)
{
    var item:Object = {};
    item.Impact = "A";
    item.KBP1 = 0;
    item.KBP2 = 0;
    item.KBP3 = 0;
    item.KBP4 = 0;
    item.KBP5 = 0;
    ...

    expenses.addItem(item)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...