将Array分隔为两个Array



我想知道如何将一个由"123.152323,152.123232"组成的数组分成"123.152323"one_answers"152.123232"。

我从休息处拿起弦,弦看起来是这样的。

responseHandler({"物品":[{" name ":"xxx"、"位置":["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()存在,但如果字符串有比位置更多的信息,如姓名,城市等

为什么要重新发明轮子?看起来你有一个有效的json对象,为什么不简单地使用JQuery.parseJSON

现代浏览器包含原生JSON方法(如JSON.parse, JSON.stringify)。使用这些,或者使用像谷歌这样的外部库。它使您的工作更轻松(不需要拆分或正则表达式搜索等):

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-object,所以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基础的阅读材料)

相关内容

  • 没有找到相关文章

最新更新