Добавление нескольких категорий в переменные ActionScript

Я дизайнер, пытающийся изменить некоторые ActionScript для веб-проекта. При определении переменных мне бы хотелось, чтобы у некоторых из них было несколько параметров / категорий (извиняюсь за недостаток словарного запаса).

Например...

var Projects= [
{myName:"Example1",myType:"OldProject",myCopy:"Coming soon."}    
// etc

];

Как я могу включить несколько параметров так, например, myType может быть установлен в OldProject а также 2005Project в то же время?

Спасибо за вашу помощь!

2 ответа

Вы можете установить myType Параметр, который будет массивом строк вместо одного.

тогда вы можете получить к ним доступ в цикле, чтобы найти все types ценности.

что-то вроде этого:

var Projects= [
{myName:"Example1",types:["OldProject", "2005Project"],myCopy:"Coming soon."}
];

for (int i = 0; i < Projects[0].types.length; i++) {
    // access them with Projects[0].types[i]
}

Некоторые из вариантов включают в себя:

//1. JSON like object option
var projects:Object = {myName:"Example1",myType:"OldProject",myCopy:"Coming soon."};
trace(projects.myName + projects.myType + "etc..."); //Access it

//2. Dicitonary option
import flash.utils.Dictionary;
var d:Dictionary = new Dictionary();
d["myName"] = "Example1"; //Set values like this
trace(d["myName"]); //Access them like this

Есть также ассоциативный массив, пользовательский класс и т. Д., Но я бы порекомендовал вариант 1 для вас, особенно если вы более дизайнер, чем программист.

Если вы хотите "Свойства стека", вы можете установить myType для массива или другого объекта, что-то вроде:

obj.myType = {one:"OldProject", two: "2005Project"};
trace(obj.myType.one + obj.myType.two);

или же

obj.myType = new Array();
obj.myType[0] = "OldProject";
obj.myType[1] = "2005Project";
trace(obj.myType[0], obj.myType[1]); //Access them
Другие вопросы по тегам