Разделите массив на два массива - PullRequest
0 голосов
/ 06 ноября 2011

Интересно, как я могу разделить массив, который состоит из «123.152323,152.123232» в «123.152323» и «152.123232».

Я беру строку из остатка, строка выглядит следующим образом.

responseHandler ({"items": [{"name": "xxx", "location": ["xx.xxxxx", "xx.xxxxx"] ...

    function responseHandler(json) {
        var markers = new Array();
        for (var i = 0; i < json.items.length; i++) {
            markers[i] = (json.items[i].location);
        }
}

Могу ли я разделить местоположение перед тем, как поместить его в массив? Я знаю, что split () существует, но если строка содержит больше информации, чем просто местоположение, например, имя, город и т. Д.

Ответы [ 2 ]

0 голосов
/ 07 ноября 2011

Современный браузер содержит нативные методы JSON (например, JSON.parse, JSON.stringify).Используйте их или используйте внешнюю библиотеку, например , эту из Google .Это облегчает вашу жизнь (не нужно разделять или выполнять регулярные выражения и тому подобное):

function responseHandler(json) {
   // use native (JSON.parse), json-sans-eval would be: jsonParse(json)
   var  myJson  = JSON.parse(json)  
       ,markers = []
       ,i       = 0
       ,len     = myJson.length;
   for (; i < len; i = i+1) {
       markers.push(myJson[i].location);
   }
   return markers;
}

Редактировать после комментария : вы передаете js-объект, поэтому JSON-разборне обязательно.

function responseHandler(json) {
   var  markers = []
       ,i       = 0
       ,len     = json.length;
   for (; i < len; i = i+1) {
       markers.push(json.items[i].location);
   }
   return markers;
}
//for example
var json = {"items":[
                     {"name":"xxx","location":["xx.xxxxx","xx.xxxxx"]},
                     {"name":"yyy","location":["yy.yyyyy","yy.yyyyy"]}
                   ]
           };
var locations = responseHandler(json);
//=> now locations[0][0] is 'xx.xxxxx', locations[1][0] 'yy.yyyyy'

(Может быть, вам стоит попробовать найти в Интернете материал для чтения о основах JavaScript )

0 голосов
/ 06 ноября 2011

Зачем изобретать велосипед? Кажется, у вас есть действительный объект json, почему бы просто не использовать JQuery.parseJSON

...