Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.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_Node.js_Csv - Fatal编程技术网

Javascript 从对象中删除不需要的项目

Javascript 从对象中删除不需要的项目,javascript,node.js,csv,Javascript,Node.js,Csv,我正在使用csv解析器npm模块解析节点脚本中的csv。我需要删除从解析器返回的每个对象的第一个条目和空条目。目前,我有以下代码将解析的csv数据推送到一个数组中: const parser=require('csv-parser'); const path=require('path'); 常数fs=要求('fs'); const csvFile=path.format({dir:uu dirname,base:'LottoData.csv'}); 常量parsedData=[]; fs.cr

我正在使用csv解析器npm模块解析节点脚本中的csv。我需要删除从解析器返回的每个对象的第一个条目和空条目。目前,我有以下代码将解析的csv数据推送到一个数组中:

const parser=require('csv-parser');
const path=require('path');
常数fs=要求('fs');
const csvFile=path.format({dir:uu dirname,base:'LottoData.csv'});
常量parsedData=[];
fs.createReadStream(csvFile)
.pipe(解析器({分隔符:';',头:false}))
.on('数据',(数据)=>{
//控制台日志(数据);
push(数据);
})
.on('end',()=>{
console.log(parsedData);
});
处理数据时,csv解析器将返回具有此结构的对象:

  {
    '0': '23/03/1940',
    '1': '12',
    '2': '10',
    '3': '12',
    '4': '19',
    '5': '23',
    '6': '28',
    '7': '29',
    '8': '31',
    '9': '39',
    '10': '44',
    '11': '50',
    '12': '51',
    '13': '53',
    '14': '54',
    '15': '56',
    '16': '62',
    '17': '64',
    '18': '65',
    '19': '68',
    '20': '71',
    '21': '80',
    '22': '28',
    '23': ''
  },

如何从每个返回的对象中删除日期和空项,并将每个值直接传递到数组中,而不是推送整个对象?

将对象的值列表转换到数组中,然后过滤掉任何不需要的内容:

const filtered = Object.values(parsedData).filter(v => isValidData(v)});
根据您对数据的了解,您可以自己实现
isValidData
功能

(看看你正在显示的内容,它似乎是“
v
应该是数字”,因此如果是这样,那么这对你来说应该是微不足道的)

签出
Object.entries()
Object.values(parsedData).filter(x=>x&&!number.isNaN(number(x))