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

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

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

Регистрация: Jul 2008
Сообщений: 912
По умолчанию Создание массива на основе индексов имеющегося массива

Постоянно у меня куча разнообразных задач с массивами - одна краше другой и не каждую могу решить сам к сожалению((( Но как хорошо, что есть любимый форум, а на нём умные люди всегда готовые помочь и конечно повысить скил "репутация"! Подмазался, а теперь к делу:

Вот массив объектов, назовём его ArrayX:
Код AS3:
5 3 0, 0 4 1, 6 5 2, 1 6 3, 6 5 2, 0 4 1, 6 5 15, 1 6 3, 7 7 4, 2 8 5, 7 7 4, 1 6 3, 7 7 4, 2 8 5, 8 9 6, 3 10 7
Нужно создать новый числовой массив из его индексов, но не просто подряд идущих индексов.
Каждый элемент этого массива содержит три числа, некоторые элементы полностью одинаковы, так вот: если попадается элемент, который уже встречался, то в новый массив передаётся индекс первого попавшегося и все элементы, идущие за уже попадавшимся, сдвигаются на единицу к началу массива.
Должен получиться вот такой массив:
Код AS3:
0, 1, 2, 3, 2, 1, 4, 3, 5, 6, 5, 3, 5, 6, 7, 8
Думаю, сначала нужно отобрать все первые попавшиеся уникальные элементы в отдельный массив, это может помочь.(эту часть кода я уже написал)
Вот все уникальные элементы в нужном порядке.

Код AS3:
5 3 0, 0 4 1, 6 5 2, 1 6 3, 6 5 15, 7 7 4, 2 8 5, 8 9 6, 3 10 7
Например здесь индекс элемента "6 5 2" это 2, в массиве ArrayX он попадается несколько раз, каждый раз когда он попадается - в новый массив нужно записать "2", дальше идёт "1 6 3" у него индекс 3, каждый раз, когда он попадается в массиве ArrayX - в новый массив пишем "3" и т.д.


Последний раз редактировалось Sintesis; 07.07.2011 в 02:37.
Создать новую тему   Часовой пояс GMT +4, время: 10:39.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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