好的,所以我有一个AJAX函数从远程PHP文件中获取JSON编码的字符串,响应看起来就是这样..
{"zone_id":"1","zone_name":"Test Zone 1","zone_tilemap":"0,0,0,0*0,0,0,0*0,0,0,0*0,0,0,0","zone_objectmap":"0,0,0,0*0,0,0,0*0,0,0,0*0,0,0,0"}
我不会太深入了解这段代码的内容,但我现在需要的部分是tilemap,我需要以某种方式将这些数字读入多维JavaScript数组,所以它看起来像......
var someArray = new Array([0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]);
我知道在PHP中有一个爆炸函数,它可以通过星号分隔字符串,然后用逗号分隔字符串并将结果放入数组中,但我不擅长JavaScript并且不知道如何完成这个,有什么想法吗?
到目前为止我的AJAX功能......
function getLocalZoneInformation(){
$.ajax({
type: 'POST',
url: "./inc/backend/game.functions.php?getLocalZoneInformation=" + localCharacterZoneID,
success: function(response){
var localZoneInformation = jQuery.parseJSON(response);
localZoneID = localZoneInformation.zone_id;
localZoneName = localZoneInformation.zone_name;
localZoneTileMap = localZoneInformation.zone_tilemap;
localZoneObjectMap = localZoneInformation.zone_objectmap;
}
});
}
答案 0 :(得分:3)
var tmp = localZoneTileMap.split("*");
var someArray = [];
for (i = 0; i < tmp.length; i++) {
someArray.push(tmp[i].split(","));
}
如果使用的是JavaScript 1.6或更高版本,则可以使用map()
方法
var someArray = localZoneTileMap.split("*").map(function(tileMap) {
return tileMap.split(",");
});
答案 1 :(得分:1)
试试这个:
zones = localZoneName.zone_tilemap.split("*")
out_array = []
for (i in zones) {
out_array.push(zones[i].split(","))
}
结果将保存在out_array var。
中答案 2 :(得分:0)