Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/412.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Javascript获取长文本文件片段的更好方法_Javascript_String_Stream_Slice_Filereader - Fatal编程技术网

使用Javascript获取长文本文件片段的更好方法

使用Javascript获取长文本文件片段的更好方法,javascript,string,stream,slice,filereader,Javascript,String,Stream,Slice,Filereader,我需要用javascript导入一个数百行的文件。每条线的固定长度为200个字符。 该行中的特定位置和长度具有以下含义:id、标题、日期等 我有以下代码: const reader = new FileReader(); reader.onload = (event) => { const file = reader.result; const allLines = file.split(/\r\n|\n/); allLines.forEach((line) => {

我需要用javascript导入一个数百行的文件。每条线的固定长度为200个字符。 该行中的特定位置和长度具有以下含义:id、标题、日期等

我有以下代码:

const reader = new FileReader();

reader.onload = (event) => {
  const file = reader.result;
  const allLines = file.split(/\r\n|\n/);
  allLines.forEach((line) => {
    if(line.length){
      var data = {
        type: line.slice(0, 1),
        id: line.slice(1, 7),
        title: line.slice(7, 27),
        date: line.slice(27, 35),
        // ...
        // ...
        status: line.slice(199,200) 
      }
    }
  });
};

reader.readAsText(fileToImport);

我认为这种使用多个slice()的方法效率低下。有更好的办法吗?也许我可以以某种方式流式传输数据,使用游标(如果它们存在于JS中)或其他东西。

看起来您应该在尝试优化之前研究代码的性能。@Teemu是的,这是一个很好的建议