Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 06.11.2012, 19:48
danone1991 вне форума Посмотреть профиль Отправить личное сообщение для danone1991 Найти все сообщения от danone1991
  № 1  
Ответить с цитированием
danone1991

Регистрация: Nov 2012
Сообщений: 2
Attention Подсчет кол-ва Элементов в массиве до определенного элемента

Всем Привет, прошу помощи.
НЕ могу никак придумать как подсчитать кол-во элементов в массиве до определенного, например слово "name"?
Есть массив там в рандомном порядке значения необходимо Подсчитать сколько элементов до "name" и сколько до след "name".

Старый 06.11.2012, 20:01
GBee вне форума Посмотреть профиль Отправить личное сообщение для GBee Найти все сообщения от GBee
  № 2  
Ответить с цитированием
GBee
 
Аватар для GBee

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
узнать индекс элемента name.

Добавлено через 36 секунд
Но это работает при определенных условиях
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.

Старый 06.11.2012, 20:30
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 3  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Код AS3:
var arr:Array = ["a", "b", "c", "d", "name", "e", "f", "name", "g", "h", "name", "x", "y", "z"];
var first:int = arr.indexOf("name");
var next:int = arr.indexOf("name", first);
var last:int = arr.lastIndexOf("last");
__________________
משיח לא בא
משיח גם לא מטלפן

Старый 06.11.2012, 21:01
wapmaster вне форума Посмотреть профиль Отправить личное сообщение для wapmaster Найти все сообщения от wapmaster
  № 4  
Ответить с цитированием
wapmaster

Регистрация: Oct 2011
Сообщений: 21
Код AS3:
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.

Старый 06.11.2012, 21:10
danone1991 вне форума Посмотреть профиль Отправить личное сообщение для danone1991 Найти все сообщения от danone1991
  № 5  
Ответить с цитированием
danone1991

Регистрация: Nov 2012
Сообщений: 2
Код AS3:
var next:int = arr.indexOf("name", first + 1);
Спасибо. вставил first + 1, иначе не считает. Работает только я забыл указать один критерий отсчет должен вестись с предыдущего "name". т.е на сколько элементов он удален.

Старый 06.11.2012, 21:38
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 6  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Цитата:
т.е на сколько элементов он удален.
next - first
__________________
משיח לא בא
משיח גם לא מטלפן

Создать новую тему Ответ Часовой пояс GMT +4, время: 12:30.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 12:30.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.