Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/387.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_Arrays_Node.js - Fatal编程技术网

Javascript 从桌面解析文件

Javascript 从桌面解析文件,javascript,arrays,node.js,Javascript,Arrays,Node.js,我在用OSX。我的桌面上有一个文本文件,我试图从文本文件(称为data.txt)中读取数据并将其放入数组中。文本文件的结构如下所示: [ "abc1, abc2, 47872, happy", "abc3, abc4, 23232, sad", "abc5, abc6, 64242, tired", "abc7, abc8, 25542, chilly", "abc9, abc10, 23244, warm", ] 这里有一些代码,我正试图开始与得到这一点 var request = requ

我在用OSX。我的桌面上有一个文本文件,我试图从文本文件(称为data.txt)中读取数据并将其放入数组中。文本文件的结构如下所示:

[
"abc1, abc2, 47872, happy",
"abc3, abc4, 23232, sad",
"abc5, abc6, 64242, tired",
"abc7, abc8, 25542, chilly",
"abc9, abc10, 23244, warm",
]
这里有一些代码,我正试图开始与得到这一点

var request = require('request');

var commaDelimiter = ','; 
var newlineDelimiter = ' '; 

var firstArray =[];
var unsortedOutputArray= [];
var sortedOutputArray = [];


request('/Users/user/Desktop/data.txt', function (error, response, body) {
    if (!error && response.statusCode == 200) {
        body.split(commaDelimiter).forEach(function (item, index) {
            arrayOfStrings.push(item); 
            array.push(parseInt(item));

    console.log(firstArray[0]);
        });
    }
})
我面临的问题是试图找出我在这方面的错误所在。
我想
console.log
数组中的元素,以验证它是否正确传递,但没有显示任何内容。有人能帮我找出问题所在吗?
我不认为我需要状态码200,因为它是本地文件,但任何人都可以建议。我认为可能是问题的两件事是

  • 我是如何在桌面上设置文件的路径的,即我做了什么 这是正确的吗?及
  • 我一开始是否正确设置了请求(我对此不太确定)

  • 您可以将其称为data.txt,而不是data.json(因为该文件包含一个json编码的字符串数组,但请确保删除了rogue last comma,否则它将不符合合法json),然后您可以从其文件位置将其输入:

    var data = require("/Users/user/Desktop/data.json");
    console.log(data[0]) // => abc1, abc2, 47872, happy
    
    然后做任何符合逻辑的事情,比如

    var data = require("...");
    data.forEach(function(row) {
      var terms = row.split(", ");
      terms.forEach(function(term) {
        console.log(term)
      });
    });
    

    您应该使用
    fs
    模块从文件系统读取文件:它已经是一个数组,所以只需在stringRequest上调用JSON.parse()就可以了。本地文件不是HTTP。让我试试这个。感谢您的输入,路径名正确吗?i、 e.Users/user/Desktop/data.json-如果是位置upvoted,我会这样设置,但请确保删除数组中最后一个元素后的逗号。技术上不需要:这是一个合法数组,最后一个元素为空(即将在该元素上死亡,node.js不应该),它死在我的机器上:)主要是因为它是JSON而不是JS。