![]() |
разбор предложения и получения из строки набора переменных....
Доброе время суток...
Вопрос имеем переменную полученную с сервера Variables=123,345,fred,white Как разбить ее так что бы поместить переменные следующим образом. х=123 y= 345 Name = fred color=white передавать переменные в таким виде X=123&y=345&name=fred&color=white не предлагать.... потому как не подходит в случает если Variables это массив таких переменных.. подскажите как сделать разбор строки... |
x=[]
x=Variables.split(',') |
2Lexass а зачем x=[]?
2PanCake, в твоем случае x=Variables.split(',')[0] y=Variables.split(',')[1] Name =Variables.split(',')[2] color=Variables.split(',')[3] |
Насколько я понимаю 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]); } |
ага понятно вроде....
Но что делать если приходит строка следующего типа
Vehicle1=10,10,Object+1,1,NW,10&Vehicle2=50,170,Object+2,2,W,15 причем колличество переменных типа VehicleX может быть переменным... |
хм...
НУ что же никто не знает как поступать в такиом случае??
Разяснения.... Допустим у нас имеется разное (известное серверу) колличество элементов... типа 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. и так далее... Как все это запрограммировать....:) |
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 |
ДА кто усложжняет
Просто все это передается за один раз... и ничкуда от этоо не денешся....
может передаться одна Variables1=1,2,fred,white а может 100 и что с ними делать??? как их разбирать? |
x=[]
for(i=0;i<x;i++) x[i]=this['Variables'+i].split(',') ____________________ Удач |
не оптимально ...если строка не очень длинная, то можно так... я бы разложил по полочкам на сервере и принял готовые данные
|
| Часовой пояс GMT +4, время: 15:43. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.