我想知道如何将一个由"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基础的阅读材料)