![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Nov 2012
Сообщений: 2
|
Всем Привет, прошу помощи.
НЕ могу никак придумать как подсчитать кол-во элементов в массиве до определенного, например слово "name"? Есть массив там в рандомном порядке значения необходимо Подсчитать сколько элементов до "name" и сколько до след "name". |
|
|||||
|
__________________
משיח לא בא משיח גם לא מטלפן |
|
|||||
|
Регистрация: Oct 2011
Сообщений: 21
|
private function init(e:Event = null):void { var arr:Array = ["a", "b", "c", "d", "s", "g", "name", "e", "f", "name"]; var sss:Array = search(arr, "name", 0, []); trace(sss); } private function search($array:Array, $item:String, $startPosition:int, $results:Array):Array { if ($startPosition + 1 < $array.length) { var count:int = 0; var stopPosition:int = $array.indexOf($item, $startPosition + 1) for (var i:int = $startPosition; i < stopPosition; i++ ) count++; var result:Object = { count:count, position:stopPosition } $results.push(result); if ($array.indexOf($item, $startPosition) != $array.lastIndexOf($item)) search($array, $item, stopPosition, $results); } return $results; } Возвращает массив элементы которого являются последовательно количество символов до "name" от начала до первого, от первого до второго и так далее. Трейс массива "sss" (извините за такое название, писал на скорую руку) вернет 6,3. |
|
|||||
|
Регистрация: Nov 2012
Сообщений: 2
|
Спасибо. вставил first + 1, иначе не считает. Работает только я забыл указать один критерий отсчет должен вестись с предыдущего "name". т.е на сколько элементов он удален.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 15:07. |
|
|
« Предыдущая тема | Следующая тема » |
|
|