![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
[+1 06.03.13]
Регистрация: Feb 2007
Сообщений: 174
|
Погуглил, не нашёл ответа, решил спросить.
У каждого элемента массива есть свойство indexOf, обратившись к которому можно определить его индекс. Вопрос: как можно определить все иерархические индексы данного элемента в многомерном массиве, н.п для трёхмерного массива. |
|
|||||
|
Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
|
Перебором?
Перебором всех уровней, кроме нижнего. |
|
|||||
|
[+1 06.03.13]
Регистрация: Feb 2007
Сообщений: 174
|
Ой как не хоца перебором!
|
|
|||||
|
Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
|
Тогда пересмотреть структуру данных.
Зачем многомерный массив? Тем более, что он не многомерный, а массив массивов массивов? |
|
|||||
|
Стоит упомянуть, что массив любой размерности легко и непринужденно превращается в одномерный массив. Немного школьной математики и дело в шляпе.
Цитата:
__________________
...вселенская грусть |
|
|||||
|
[+1 06.03.13]
Регистрация: Feb 2007
Сообщений: 174
|
В зависимости от поставленной задачи, превращение многомерного массива в одномерный не всегда является лучшим решением. Лучше уж перебор.
|
|
|||||
|
Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
|
И, все-таки, надо идти от данных.
Трехмерные массивы сами из ниоткуда не берутся. Зачем они тут? |
|
|||||
|
[+1 06.03.13]
Регистрация: Feb 2007
Сообщений: 174
|
Речь идёт о рисовании некоторых составных графических элеменов, которых можно несколько создать на одной плоскости, а плоскостей тоже может быть несколько. Данные по одному такому составному элементу - массив, описание всех элементов на одной плоскости - двумерный массив, а по всем плоскостям - трёхмерный. Вот такая общая структура получается. Нет, ну пересортировать трёхмерный массив дело не очень сложное, просто создавая эту тему я думал что можно будет сделать как-нибудь попроще.
|
|
|||||
|
Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
|
Ну, в порядке бреда можно пойти от обратного.
![]() objArray - массив объектов indexArray - массив индексов Создаем объект и кладем его в массив objArray, потом берем его индекс в этом массиве (objIndex) и в массиве indexArray прописываем его параметры i,j,k (в трехмерном массиве они были индексами): indexArray[objIndex] = { i:111, j:222, k:333 }; Тогда в любой момент времени: indexArray[objArray.indexOf(obj)].i indexArray[objArray.indexOf(obj)].j indexArray[objArray.indexOf(obj)].k |
![]() |
![]() |
Часовой пояс GMT +4, время: 09:16. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|