PDA

Просмотр полной версии : Сбой в функции, где ошибка?


goword
26.02.2008, 16:11
Сбой в функции, в чем проблема?

function epth(idNum:Number) {
trace(idNum);
for (i=0; i<4; i++) {
trace(myArray);
if (myArray[i] == idNum) {
deleteItem = myArray.splice(i,1);
trace(myArray);
myArray.splice(0,0,deleteItem);
trace(myArray);
}
}
for (j=0; j<4; j++) {
this["window"+myArray[j]+"_mc"].swapDepths(myDepth[j]);
}
}

сбой в этой части, как я понял:
if (myArray[i] == idNum) {
deleteItem = myArray.splice(i,1);
trace(myArray);
myArray.splice(0,0,deleteItem);
trace(myArray);
}

Когда idNum = 4 первый раз функция срабатывает, когда второй раз передаю idNum = 4, уже не работает условие.

iNils
26.02.2008, 16:36
splice возращает Array, а не Number
Поэтому надо писать так
myArray.splice (0, 0, deleteItem[0]);
или так
deleteItem = myArray.splice (i, 1)[0];

goword
26.02.2008, 16:56
Спасибо, все получилось успешно.