用于从文件中读取浮点值并将其设置为数组的代码段

时间:2015-08-03 03:25:15

标签: javascript jquery arrays

有人给了我一个代码片段,用于从ASCII文件(此处为Positions.dat)加载浮点值并将这些值设置为数组。此代码使用Jquery:

 $.get("/Positions.dat", function(content) {
      var array = content.split(/\n/).filter(function(line) {
      return line.trim().length > 0;
    }).map(function(line) {
      return line.trim().split(/\s+/).map(function(word) {
        return +parseFloat(word);
      });
    });

  console.log(array);
  alert(array);

  });

文件Positions.dat位于服务器端,包含3列浮点值。

我不是Javascript专家,我想更好地理解这段代码。

我认为它首先用'\n' delimiter分割所有行,然后只选择带a number of elements > 0 per line的行(仅选择带有trim的非空行),然后对每行分割3个单词并将每个单词转换为浮动。

语法对我来说非常复杂,任何人都可以对所使用的嵌套函数(map lineword)给出更多精确度?

其次,我尝试将此代码包含在另一个脚本中,以将数组值放入另一个数组中:

 <script src="http://code.jquery.com/jquery-2.1.4.min.js"></script>
 <script>
     $.get("/Positions.dat", function(content) {
          var array = content.split(/\n/).filter(function(line) {
          return line.trim().length > 0;
        }).map(function(line) {
          return line.trim().split(/\s+/).map(function(word) {
            return +parseFloat(word);
          });
        });
      });

   for(var p = 0; p < 10; p++) {

                var pX = array[p*3];
                var pY = array[p*3+1];
                var pZ = array[p*3+2];
    }  

</script>

但是我在控制台上收到以下错误:

ReferenceError: array is not defined

也许数组上面是local variable,所以我尝试把它global但是我得到了同样的错误。

任何线索?

感谢您的帮助

0 个答案:

没有答案