2012-02-04 64 views
0

我正在寻找一种方法来读取外部文本文件map.txt(分配在我自己的服务器中,而不是客户端的计算机中)并存储其中包含的数据在使用Javascript的二维数组map[][]中。使用Javascript(无jQuery)从外部文件读取

map.txt文件将被写满数字和每次的行具有固定长度:

21123301201200 
12030201303321 
21312 
123123100
12312321221220 

所以,我希望它是存储双维数组map在这样的方式map[0][0] = 2map[13][4] = 0-在这个例子中。这甚至有可能做到吗?如果是这样,它是如何完成的?

谢谢!

+1

您是在服务器端还是在客户端使用Javascript?你想让服务器或客户端读取文件吗? – supertopi 2012-02-04 22:41:51

+0

我在客户端使用Javascript,我希望客户端读取文件(但文件本身分配在服务器中,而不是客户端计算机中)。 – federicot 2012-02-04 23:06:53

回答

0

您可以使用XMLHttpRequest来获取文件。看一看:http://www.quirksmode.org/js/xmlhttp.html

,利用此功能来创建数组:

function handleRequest(req){ 
    var a=req.responseText.split('\n'); 
    var len=a.length; 
    for(var i=0;i<len;i++){ 
     a[i]=a[i].split(''); 
    } 
    return a; 
} 

该函数将返回:

[["2","1","1","2","3","3","0","1","2","0","1","2","0","0"], 
["1","2","0","3","0","2","0","1","3","0","3","3","2","1"], 
["2","2","3","2","1","3","2","1","0","2","1","3","1","2"], 
["1","2","3","1","2","3","1","0","0","0","1","2","3","0"], 
["1","2","3","1","2","3","2","1","2","2","1","2","2","0"]] 

使用map[4][13]代替map[13][4]拿到最后一个元素在你的示例

+0

谢谢你,那正是我正在寻找的! – federicot 2012-02-04 23:21:44