Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   разбор предложения и получения из строки набора переменных.... (http://www.flasher.ru/forum/showthread.php?t=31850)

PanCake 20.05.2002 13:47

разбор предложения и получения из строки набора переменных....
 
Доброе время суток...

Вопрос
имеем переменную полученную с сервера

Variables=123,345,fred,white

Как разбить ее так что бы поместить переменные следующим образом.

х=123
y= 345
Name = fred
color=white

передавать переменные в таким виде X=123&y=345&name=fred&color=white
не предлагать....
потому как не подходит в случает если Variables это массив таких переменных..
подскажите как сделать разбор строки...

lexass 20.05.2002 13:52

x=[]
x=Variables.split(',')

УильямБрэдберри 20.05.2002 14:20

2Lexass а зачем x=[]?

2PanCake, в твоем случае

x=Variables.split(',')[0]
y=Variables.split(',')[1]
Name =Variables.split(',')[2]
color=Variables.split(',')[3]

greyshaman 20.05.2002 14:33

Насколько я понимаю Variables.split не прокатывает по причине неизвестной длинны полученного массива по этому можно вот так.

myArray="123,345,fred,white,43,5,fred,ellow ....";

i=0;
j=0;
newArray=new Array();
do{
if(myArray.charCodeAt(i)!=44){
newArray[j]+=myArray.substr(i,1)
}else{
// newArray[j]=parseInt(newArray[j],10);
j++;
}

i++;
}
while(i<=myArray.length);
for (i=0;i<newArray.length;i++){
trace(newArray[i]);
}

PanCake 20.05.2002 14:41

ага понятно вроде....
 
Но что делать если приходит строка следующего типа

Vehicle1=10,10,Object+1,1,NW,10&Vehicle2=50,170,Object+2,2,W,15
причем колличество переменных типа VehicleX может быть переменным...

PanCake 20.05.2002 15:27

хм...
 
НУ что же никто не знает как поступать в такиом случае??

Разяснения....
Допустим у нас имеется разное (известное серверу) колличество элементов... типа

variable=1,2,fred,white
строка посланная сервером может выглядеть так
VariablesNum=4&variable1=1,2,fred,white&variable2=1,2,fred,white&variable3=1,2,fred,white&variable4=1,2,fred,white
т.е мы получаем
сначала кооличество передданых пременных типа Variablex(x):
VariablesNum=4.
(заметте , что колличство значений переданных в переменной
Variablex(x) постоянно а именно 4 )

потом получаем поочереди все Variables(X)
в итоге мы имеем масиив масиивов переменных.
а именно
массив переменных Variables (x) в котором находится масиив значения x.Variables1=1, y.Variables1=2, name.Variables1=fred,
color.Variables1=white. и так далее...

Как все это запрограммировать....:)

lexass 20.05.2002 15:29

2 УильямБрэдберри
1 для наглядности
2 ну нравиться мне делать обЪявлениЯ ;)

2 PanCake
1 повеситЬся :D ;)
2 неусложняй простое
3 что настолько может быть строка нестабильной?

Vehicle1=10,10,Object+1,1,NW,10&Vehicle2=50,170,Object+2,2,W,15
ЭТО
Vehicle1=10,10,Object+1,1,NW,10
Vehicle2=50,170,Object+2,2,W,15

PanCake 20.05.2002 15:31

ДА кто усложжняет
 
Просто все это передается за один раз... и ничкуда от этоо не денешся....
может передаться одна Variables1=1,2,fred,white
а может 100
и что с ними делать???
как их разбирать?

lexass 20.05.2002 15:34

x=[]
for(i=0;i<x;i++)
x[i]=this['Variables'+i].split(',')
____________________
Удач

asd 20.05.2002 15:51

не оптимально ...если строка не очень длинная, то можно так... я бы разложил по полочкам на сервере и принял готовые данные


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

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