javascript – 读取制表符分隔文件,逐行比使用制表符分隔每行分割

前端之家收集整理的这篇文章主要介绍了javascript – 读取制表符分隔文件,逐行比使用制表符分隔每行分割前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我能够逐行读取文件,但我不知道如何使用制表符分隔每行.这是我的代码.需要一些关于这个问题的帮助
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>Sum of a Column in JavaScript</title>
    </head>

    <input type="file" name="file" id="file">

    <script type="text/javascript">

    document.getElementById('file').onchange = function(){

    var file = this.files[0];

    var reader = new FileReader();
    reader.onload = function(progressEvent){
    // Entire file
    console.log(this.result);

    // By lines
    var lines = this.result.split('\n');
    for(var line = 0; line < lines.length; line++){
        // By tabs
        var tabs = lines[line].split('\\t');
        for(var tab = 0; tab < tabs.length; tab++){    
                alert(tabs[tab]);
        }   
    }
  };
  reader.readAsText(file);
};

</script>

解决方法

我发现这很有用,并用js .map()函数替换了for …循环.另外,我将数据加载到数组中:
// By lines
    var arr1 = [];
    var arr2 = [];
    var arr3 = [];
    var arr4 = [];
    var arr5 = []; // assuming 5 tabs
    var lines = this.result.split('\n');
    lines.map(function(item){
      var tabs = item.split('\t');
      console.log("0",tabs[0],"1",tabs[1],"2",tabs[2],"3",tabs[3],"4",tabs[4],"5",tabs[5],"6",tabs[6]);
      arr1.push(tabs[0]);
      arr2.push(tabs[1]);
      arr3.push(tabs[2]);
      arr4.push(tabs[3]);
      arr5.push(tabs[4]);
    });
    // test two of the arrays after reading:
    for (var i = 0; i < mdarr.length; i++) {
      console.log(arr1[i],arr2[i]);
    };
  }
  reader.readAsText(file);
};

猜你在找的JavaScript相关文章