在HTML文件中使用Javascript逐行读取文本文件并存储在变量中

时间:2014-02-28 21:32:20

标签: javascript html arrays file-io

基本上,我需要创建一个数组数组。

我在.HTML文件中使用Javascript。我正在读取.txt文件

让我们调用第一个数组“alert”,然后将每个数组调用为“事件”。

每个事件都有三个与之关联的值:ID号,纬度值和经度值。

如果我将值放在一个文本文件中,并且每个值都在一个单独的行上,那么我应该在每个函数中读取什么函数/如何读取,然后将它们分配给要存储在事件数组中的变量?

<script type="text/javascript">

        //open text file
        $f = fopen("LatLngTest.txt", "r");
        //read line by line: 1st line=ID, 2nd line=LAT, 3rd line=LNG

        //store in ID, LAT, LNG variables

        //close text file
        fclose($f);
        //create incident array and save ID, LAT, LNG as one incident
        var incident = new Array (ID, LAT, LNG);

        //create array of alerts
        var alerts = new Array();
        //if statement to check length of array 

            //and add this incident to the end
            //alerts[i] = incident;
    </script>

1 个答案:

答案 0 :(得分:1)

在将页面发送到服务器或使用AJAX之前,您需要为页面提供文本。我会假设你最简单的就是将它倾倒在页面上:

<script>
  (function(){
    <?php echo "var fileContent = '" . file_get_contents("LatLngTest.txt") . "'," ; ?>
    alerts = fileContent.split("\n").map(function(lineItem){
       // Assuming each line is csv: ID,LAT,LNG 
       // and that there are no commas in the values
       var field = lineItem.split(",");
       return {ID: field[0], LAT: field[1], LNG: fields[2]};
    });

    // now alerts looks like this: [{ID: ..., LAT: ..., LNG: ...}, {...}];

  })();
</script>