Все, что происходит в браузере, связано с document . Когда вы переходите от текущего документа (страницы), он становится устаревшим, в том числе таймеры - как и ожидалось.
Так что вы пытаетесь здесь не просто использовать таймеры.
Вы может записать элемент localStorage
(или sessionStorage
) со временем начала таймера и когда он должен закончиться, и с новой страницы (при условии, что она получена от того же источника), вы читаете элемент и вычисляете разницу и запустить новый таймер (или добавить параметры как часть URL-адреса, к которому вы переходите).
Простой - map
и split
для каждой запятой, затем посмотрите индекс, для которого это должно быть: 116]
Вы смешиваете несколько вещей. Что fileData
делает (кажется, не используется)? И slice
это не правильный способ сделать это.
Вместо этого попробуйте:
function get_Data(csv) {
csv = csv.replace(/[\r\n]+/gi,"\n"); // reduce line endings into single LF chars
rows = csv.split("\n"); // split into array of rows
var result = [];
for (var i in rows) result.push(rows[i].split(",")); // split each row
return result;
}
(правка). Если вам нужны только последние X строк данных CSV, используйте:
function get_Data(csv,lastNumRows) { // get only the last <lastNumRows> rows
csv = csv.replace(/[\r\n]+/gi,"\n"); // reduce line endings into single LF chars
rows = csv.split("\n").slice(-lastNumRows); // split into array of rows
var result = [];
for (var i in rows) result.push(rows[i].split(",")); // split each row
return result;
}
попробуйте, это должно работать. Я знаю положение данных, чтобы было легко разделить и найти термины и дату
var csv = document.getElementById("csvFile").innerHTML ;
function get_Data(data) {
var result = {terms:[], hours:[] }
var r = data.split(/\r\n|\r|\n/);
r.forEach(function(element) {
if (element !== "" && element.length>1){
var term = element.split(",")[2]
var date = new Date(element.split(",")[0])
var hour = date.getHours() + ":" + (date.getMinutes()<=9 ? "0" + date.getMinutes() : date.getMinutes());
result.terms.push(term);
result.hours.push(hour)
}
});
return result;
}
console.log( get_Data(csv))
<div id="csvFile" style="display:none;">
11/28/2018 7:30,1128,-2.122,86.2,34.06,1.178,320.2,20.4
11/28/2018 7:45,1129,-2.325,85.6,34.54,1.771,325.5,30.72
11/28/2018 8:00,1130,-2.679,85.7,30.73,1.764,312.1,28.98
11/28/2018 8:15,1131,-2.872,88,34.55,1.073,306.6,25.65
11/28/2018 8:30,1132,-2.953,90.7,35.25,1.247,311.2,30.06
11/28/2018 8:45,1133,-3.064,93.3,35,1.449,312.6,30.13
11/28/2018 9:00,1134,-2.771,91.5,33.44,0.988,311,28.27
</div>