Чтение из внешнего файла в Javascript (без jQuery) - PullRequest
0 голосов
/ 05 февраля 2012

Я ищу способ чтения из внешнего текстового файла map.txt (размещенного на моем собственном сервере, а не на компьютере клиента) и для хранения содержащихся в нем данных в двумерном массиве map[][]используя Javascript.

Файл map.txt будет заполнен числами, и каждая из его строк будет иметь фиксированную длину:

21123301201200
12030201303321
22321321021312
12312310001230
12312321221220

Итак, я хочу сохранить его вразмерный массив map таким образом, что map[0][0] = 2 и map[13][4] = 0 - в этом примере -.Это вообще возможно сделать?И если да, то как это делается?

Спасибо!

1 Ответ

0 голосов
/ 05 февраля 2012

Вы можете использовать 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] чтобы получить последний элемент в вашем примере

...