无法创建数组的数组
Can't create array of arrays
我正在尝试创建数组数组(如二维数组),但出现错误:
TypeError: Error #1006: value is not a function.
这是我的代码:
我使用的是 Flash Professional CC 2015。如何修复此错误?
编辑: 这是完整的函数:
function CreateMainMenu(xPos:Number, yPos:Number, depth:int, menu_xml:XML):void {
// Generate menu list
var arr:Array = new Array();
addChild(mainmenu_mc);
mainmenu_mc.x = xPos;
mainmenu_mc.y = yPos;
setChildIndex(mainmenu_mc, depth);
var num:int = 0;
for each (var tempNode:XML in menu_xml.elements()) {
var arr2:Array = new Array();
arr2.push(tempNode);
arr2.push("menu");
arr[num].push(arr2); // It gives error
num++;
}
trace (arr);
// GenerateMenu(this, "mainmenu_mc", xPos, yPos, depth, arr);
}
第一行号是58,最后一个是79。
我收到此错误:
TypeError: Error #1010: A term is undefined and has no properties.
at xmlmenu_05_fla::MainTimeline/CreateMainMenu()[xmlmenu_05_fla.MainTimeline::frame1:72]
at xmlmenu_05_fla::MainTimeline/processXML()[xmlmenu_05_fla.MainTimeline::frame1:118]
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at flash.net::URLLoader/onComplete()
问题是您从未向 arr
添加任何内容。
您在此处创建 Array
:
var arr:Array = new Array();
但你唯一一次与之交互是给你错误的那一行:
arr[num].push(arr2); // It gives error
您正在尝试访问此处的元素,但您从未向数组中添加任何内容。
您的变量名称描述性不强,您可能迷失在这个混乱中:
var arr2:Array = new Array();
arr2.push(tempNode);
arr2.push("menu");
arr[num].push(arr2); // It gives error
num++;
我不知道你的意图是什么。如果您只想添加 arr2
作为下一个元素,请使用 push,这里不需要 num
。
如果您使用有意义的变量名称编写代码,那么更容易跟踪您自己的代码。
我正在尝试创建数组数组(如二维数组),但出现错误:
TypeError: Error #1006: value is not a function.
这是我的代码:
我使用的是 Flash Professional CC 2015。如何修复此错误?
编辑: 这是完整的函数:
function CreateMainMenu(xPos:Number, yPos:Number, depth:int, menu_xml:XML):void {
// Generate menu list
var arr:Array = new Array();
addChild(mainmenu_mc);
mainmenu_mc.x = xPos;
mainmenu_mc.y = yPos;
setChildIndex(mainmenu_mc, depth);
var num:int = 0;
for each (var tempNode:XML in menu_xml.elements()) {
var arr2:Array = new Array();
arr2.push(tempNode);
arr2.push("menu");
arr[num].push(arr2); // It gives error
num++;
}
trace (arr);
// GenerateMenu(this, "mainmenu_mc", xPos, yPos, depth, arr);
}
第一行号是58,最后一个是79。
我收到此错误:
TypeError: Error #1010: A term is undefined and has no properties. at xmlmenu_05_fla::MainTimeline/CreateMainMenu()[xmlmenu_05_fla.MainTimeline::frame1:72] at xmlmenu_05_fla::MainTimeline/processXML()[xmlmenu_05_fla.MainTimeline::frame1:118] at flash.events::EventDispatcher/dispatchEventFunction() at flash.events::EventDispatcher/dispatchEvent() at flash.net::URLLoader/onComplete()
问题是您从未向 arr
添加任何内容。
您在此处创建 Array
:
var arr:Array = new Array();
但你唯一一次与之交互是给你错误的那一行:
arr[num].push(arr2); // It gives error
您正在尝试访问此处的元素,但您从未向数组中添加任何内容。
您的变量名称描述性不强,您可能迷失在这个混乱中:
var arr2:Array = new Array();
arr2.push(tempNode);
arr2.push("menu");
arr[num].push(arr2); // It gives error
num++;
我不知道你的意图是什么。如果您只想添加 arr2
作为下一个元素,请使用 push,这里不需要 num
。
如果您使用有意义的变量名称编写代码,那么更容易跟踪您自己的代码。