![]() |
|
||||||||||
|
|||||
|
Доброго времени Флэшеры.
У меня к Вам вопрос: есть строка, которая должна задавать потом N-мерный массив (пока 2 мерный) вида: var mas_str:String = "555,202,3***2,6,6***607,7";// она к примеру с внешнего файла...
[cod]//Я применяю split
mas = mas_str.split("***");
//
trace(typeof mas);
//выводит object
trace(mas[0][1]);
// и соответственно undefined :(
trace(mas[0]);
// а это выводит 555,202,3
//Как теперь отбратится к, скажем, 2-му элементу?
var mas2:Array = mas[0].split(",");
trace(mas2[0]);
//Вот теперь выводит то что надо...
Может я не првильно мышлю или есть готовая функция? П.С. не по теме не ПИШИТЕ!!!!!!!!!!!!!!!!! Последний раз редактировалось Скрипун; 15.04.2006 в 20:19. |
|
|||||
|
Регистрация: Mar 2006
Сообщений: 353
|
for (i=0, a=[]; i<n; i++) {
for (j=0, a[i]=[]; j<n; j++) {
for (k=0, a[i][j]=[]; k<n; k++) {
...
где in необязательно число .
__________________
Вильгельм Тель........... |
|
|||||
|
Регистрация: Nov 2004
Адрес: Санкт-Петербург
Сообщений: 751
|
А не проще гнать не строку а xml структурно разделённый для n мерного массива?
__________________
Всё гениальное просто. |
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
|
функция
/*
str - исходная строка
delimiter - массив элементов разделителей
*/
splitD = function (str, delimiter) {
str = str.split (delimiter[0]);
if (delimiter.length > 1) {
for (var i = 0; i < str.length; i++) {
if (str[i].indexOf (delimiter[1]) != -1) {
str[i] = splitD (str[i], delimiter.slice (1));
}
}
}
return str;
};
// <пробел>" - Разделитель 1-го уровня
// / - Разделитель 2-го уровня
// . - Разделитель 3-го уровня
arrayR = splitD ("1.2.3/4/5/6 7 8/9/10.11", [" ", "/", "."]);
//// вывод результата
trace (arrayR);
trace ("[0]\t\t\t:" + arrayR[0]);
trace ("[0][0]\t\t:" + arrayR[0][0]);
trace ("[0][0][0]\t:" + arrayR[0][0][0]);
trace ("[0][0][1]\t:" + arrayR[0][0][1]);
trace ("[0][0][2]\t:" + arrayR[0][0][2]);
trace ("[0][1]\t\t:" + arrayR[0][1]);
trace ("[0][2]\t\t:" + arrayR[0][2]);
trace ("[0][3]\t\t:" + arrayR[0][3]);
trace ("[1]\t\t\t:" + arrayR[1]);
trace ("[2]\t\t\t:" + arrayR[2]);
trace ("[2][0]\t\t:" + arrayR[2][0]);
trace ("[2][1]\t\t:" + arrayR[2][1]);
trace ("[2][2]\t\t:" + arrayR[2][2]);
trace ("[2][2][0]\t:" + arrayR[2][2][0]);
trace ("[2][2][1]\t:" + arrayR[2][2][1]);
|
![]() |
![]() |
Часовой пояс GMT +4, время: 12:56. |
|
|
« Предыдущая тема | Следующая тема » |
|
|