![]() |
|
||||||||||
|
|||||
|
Регистрация: Oct 2004
Адрес: Москва
Сообщений: 168
|
Есть класс all_situation, который принимает в конструктор массив и парсит его, присваивая соответствующим параметрам массивам соответствующие значения.
Этот класс имеет паблик функцию в другом классе я вызываю у объекта типа all_situation метод get_homeschool_array(); и применяю метод рандомной сортировки private function random_scence_question() {
var arr = _all_situation.get_homeschool_array();
var rand = Math.floor(arr.length*Math.random());
_means_of_travel = arr[rand].nodeName;
_curent_scene_situation = arr[rand].childNodes;
shuffle_array();
}
public function shuffle_array() {
var z = new Number();
for(var i = 0; i < _curent_scene_situation.length; i++) {
var t = Number(Math.floor((_curent_scene_situation.length - i) * Math.random()));
z = t + i;
var _iteration_element = _curent_scene_situation[i];
var _random_element = _curent_scene_situation[z];
_curent_scene_situation[z] = _iteration_element;
_curent_scene_situation[i] = _random_element;
}
trace(_curent_scene_situation);
}
_curent_scene_situation[z] = null; _curent_scene_situation[i] = null; то ровным счетом ничего не меняется - никаких нулей, та же последовательность. почему это происходит. как с этим бороться? Последний раз редактировалось iNils; 20.09.2007 в 20:07. |
|
|||||
|
судя по коду массивом у тебя выступает XMLNode.childNodes , а он read-only со всеми вытекающими последствиями..
как бороться зависит от задачки.., можно пользовать новый массив, в который копировать ноды xml.. но сортировка будет работать только для этого массива, arr[rand].childNodes останется нетронутым..равно как и сами ноды в хмл, если их переопределить к примеру.. |
|
|||||
|
Регистрация: Oct 2004
Адрес: Москва
Сообщений: 168
|
ок спасибо.
так и поступил ) |
![]() |
![]() |
Часовой пояс GMT +4, время: 20:12. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|