2017-02-06 2 views
0

Я читаю текстовый файл, где я знаю, что каждая строка файла.Прочитать текстовый файл по строкам и использовать данные для ввода

Например, первая строка представляет собой начальную координатную пару, которая находится в формате {"x": 9, "y": 9}, а вторая - конечная координатная пара.

Там существует глобальная переменная var startCoord = {"x": startX, "y": startY};

Как я могу вытащить х и у из файла, чтобы установить в качестве нового startCoord.x и startCoord.y соответственно?

JSFiddle here

Пример текстового файла:

{"x":9,"y":9} 
{"x":4,"y":104} 
{"x":124,"y":51} 
{"x":92,"y":65} 
{"x":113,"y":31} 

ответ

1

Вам нужно разобрать JSON в каждой строке в объект для того, чтобы получить доступ к свойствам, как x и y. Чтобы сделать это, просто изменить

var obj = lines[0] // or whatever index you want to parse 

в

var obj = JSON.parse(lines[0]) 

https://jsfiddle.net/8h3u2vxd/1/


Я хотел бы также оптимизировать ваш for цикл, как так

const lines = this.result.split('\n'); 
if (lines.length > 0 && lines.length % 2 > 0) { 
    throw 'Invalid data format' 
} 
for (let i = 0, l = lines.length; i < l; i += 2) { 
    let startObj = JSON.parse(lines[i]) 
    let endObj = JSON.parse(lines[i + 1]) 
    // and so on 
} 

https://jsfiddle.net/8h3u2vxd/2/