![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Feb 2010
Сообщений: 102
|
Есть массив определённой длинны, в который внесены строки. Нужно в рандомном порядке отображать эти строки. Вопрос собственно вот в чём - как сделать так что бы индекс генерировался рандомно. Есть у меня скажем массив от 0 до 7 мне надо в рандомном порядке вывести каждый элемент не повторяясь.
у меня вышло вот такая штука, но проблема в том что рандомное число генерирующееся является не целым var t:TextField=new TextField; t.text=String(Number(photoURL_Array.length*Math.random())); addChild(t); вроде всё решил таким способом только вот как сделать что бы выведенное прежде не повторялось |
|
|||||
|
Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
|
можно создать второй массив точно такой же длинны и внести в каждый его элемент что то вроде
Потом его отсортировать по полю "r"
и считывать рандомный неповторяющийся элемент уже из первоночального массива со строками как В принципе, если не нужна универсальность, то вместо origIndex можно вписывать сразу значения строки. А после сортировки считывать примерно так Такая вот идея )) Последний раз редактировалось i.o.; 23.06.2010 в 16:09. |
|
|||||
|
Регистрация: Jun 2006
Сообщений: 400
|
У массивов есть slice() метод. Вырезаем эелементы которые уже вывел.
|
|
|||||
|
стервочка (я мужик)
|
proxiServer, не slice, а splice. slice - делает копию.
|
|
|||||
|
Регистрация: Jun 2006
Сообщений: 400
|
BlooDHounD
|
|
|||||
|
как вариант, предлагаю отсортировать массив рандомно и делать pop в цикле.
Если исходный массив не нужен, тогда делать копию массива даже не надо. |
|
|||||
|
Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
|
а зачем делать pop в цикле?
|
|
|||||
|
i.o., ну можно и не делать
а просто по индексу брать элемент. |
![]() |
![]() |
Часовой пояс GMT +4, время: 13:44. |
|
|
« Предыдущая тема | Следующая тема » |
|
|