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