我想知道如何将包含“123.152323,152.123232”的数组分隔为“123.152323”和“152.123232”。
我从休息中拾取字符串,字符串看起来像这样。
ResponseHandler所({ “项”:[{ “名称”: “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()存在但是如果字符串有更多的信息而不仅仅是位置,比如名字,城市等等。
答案 0 :(得分:0)
为什么重新发明轮子?看起来你有一个有效的json对象,为什么不简单地使用JQuery.parseJSON
答案 1 :(得分:0)
现代浏览器包含原生JSON方法(如JSON.parse
,JSON.stringify
)。使用它们,或使用像this one from 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-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 basics)
的一些阅读材料