Я думаю, было бы проще объяснить это так:
num1 = arr2[upTo][0];
trace(num1);
Выход: 0
trace(arr2[upTo][0]);
Вывод: правильный номер
где arr2 - перетасованный массив.
Мой код:
public class Main extends MovieClip {
var num1:int;
var num2:int;
var scoreArr:Array = new Array();
var upTo:int = 0;
var arr2:Array = new Array();
public function Main() {
for (var i = 1; i <= 9; i++) {
for (var j = 1; j <= 9; j++) {
scoreArr.push([i,j]);
}
}
while (scoreArr.length > 0) {
arr2.push(scoreArr.splice(Math.round(Math.random() * (scoreArr.length - 1)), 1));
}
newQ();
}
private function newQ():void {
num1 = arr2[upTo][0];
num2 = arr2[upTo][1];
trace(num1); //outputs: 0
trace(arr2[upTo][1]); //outputs: correct number
}