|
|
|||||
Регистрация: Nov 2014
Адрес: Харьков
Сообщений: 14
|
запутался с индексом массивов
Доброго времени суток пишу метод класса, который должен возвращать случайный индекс. Точнее хочу написать только малость запутался буду рад любой помощи заранее спасибо
package alibrary{ /** * ... * @author rambler */ public class ArrayAdvanced { private static var endIndexArray:Array = [-1]; public function ArrayAdvanced() { } internal function searchArray(theArray:Array, searchElement:Object):int { // Проверять каждый элемент, чтобы определить, совпадает ли // его значение со значением параметра searchElement for (var i:int = 0; i < theArray.length; i++) { if (theArray[i] == searchElement) { return i; } } return -1; } internal function randomIndexArray(theArray:Array):Array// Проблемный код { for (var i:int = 0; i < theArray.length; i++)// Обходим массив { if (theArray[i] == endIndexArray)// Если массив кончился, вернуть случайный индекс { var randomArray:Array = theArray[Math.floor(Math.random() * i)]; return randomArray; } } return [i]; } } } |
|
|||||
Зачем здесь цикл? Можно написать просто:
|
|
|||||
Регистрация: Nov 2014
Адрес: Харьков
Сообщений: 14
|
да цикл был лишним. немножко скорректировал. спасибо за подсказку совсем упустил .length
|
|
|||||
round тут лишний.
Нужно просто:
__________________
9 из 10 голосов в моей голове сказали наркотикам "НЕТ" Мои ачивки: художник-паразит. |
|
|||||
Регистрация: Jun 2014
Сообщений: 558
|
ChuwY ага, ищем в массиве элемент с индексом 1,2456.
Добавлено через 2 минуты TWETTI просто вопрос, а последний элемент когда нибудь сможет выпасть? может вместо "-1" написать "-0,99"? |
|
|||||
Регистрация: Jul 2009
Сообщений: 149
|
Посмотрите внимательней на тип данных который возвращает метод.
|
|
|||||
Регистрация: Jan 2013
Сообщений: 322
|
Цитата:
round тут не просто лишний, он левый. тут нужен floor a[Math.floor(Math.random() * a.length)] зачем вообще писать целый метод для этого? индусостайл getArrayIndex1(theArray:Array):int{return 1}; a[Math.random() * a.length | 0] > searchArray ну есть же indexOf |
|
|||||
Регистрация: Jan 2013
Сообщений: 322
|
Цитата:
надо же показать контекст, а то я могу написать ["asd"][0.5] // undefined где конвертация? |
|
|||||
Регистрация: Nov 2014
Адрес: Харьков
Сообщений: 14
|
спасибо за подсказку nubideus (indexOf)
|
Часовой пояс GMT +4, время: 07:30. |
|
« Предыдущая тема | Следующая тема » |
|
|