Copy link to clipboard
Copied
Hello,
I tried to convert multidimentional Array in Vector in AS3, but does not work!
var numbers:Array = [[[1, 2, 3]], [[4, 5, 6]]];
var nums:Vector.<Vector.<Vector.<Number>>> = Vector.<Vector.<Vector.<Number>>>(numbers);
trace(nums[0][0][0]);
Thanks.
Copy link to clipboard
Copied
var numbers:Array = [[[1, 2, 3]], [[4, 5, 6]]];
var numbersV:Vector.<Array> = Vector.<Array>(numbers);
trace(numbers[0][0][0]);
trace(numbersV[0][0][0]);
Copy link to clipboard
Copied
I think you'll need to do a loop:
function convertToVector(numbers:Array):Vector.<Vector.<Vector.<Number>>> {
var vector:Vector.<Vector.<Vector.<Number>>> = new Vector.<Vector.<Vector.<Number>>>();
for(var i:int = 0; i < numbers.length; i++){
vector = new Vector.<Vector.<Number>>();
for(var ii:int = 0; ii < numbers.length; ii++){
vector[ii] = new Vector.<Number>();
for(var iii:int = 0; iii < numbers[ii].length; iii++){
vector[ii][iii] = numbers[ii][iii];
}
}
}
return vector;
}
Also, in case it's helpful, you can declare vectors with values:
var vector:Vector.<Vector.<Vector.<Number>>> = new <Vector.<Vector.<Number>>>[
new <Vector.<Number>>[
new <Number>[1, 2, 3]
],
new <Vector.<Number>>[
new <Number>[4, 5, 6]
]
]
Cheers.
-Aaron
Find more inspiration, events, and resources on the new Adobe Community
Explore Now