只获取对象数组的选定键-JS



我有一个csv文件,里面有我们游戏服务器玩家的统计数据。我想建立一个排行榜,只想显示他们的名字和分数,但csv还包括更多的键。

这里有一个例子:

{id:"2",蒸汽:‘steam_1:1:31692173’,名称:"xyCe",lastip:"yeet",得分:"1004",击杀:"3",死亡人数:3人,助攻数:"0",自杀:"0",tk:"0",镜头:'231',点击次数:"3",头像:'2',已连接:'282',rounds_tr:'2',rounds_ct:"0",lastconnect:'1604265854',刀具:"0",glock:"0",hkp2000:"0",usp_贷款人:"0",p250:"0",deagle:"0",精英:"0",五七:"0",tec9:"0",cz75a:"0",左轮手枪:"0",nova:"0",xm1014:'0',mag7:"0",锯断:"0",bizon:"0",mac10:"0",mp9:"0",mp7:"0",ump45:"0",p90:"0",伽利略:"0",ak47:'3',scar20:"0",famas:"0",等等}

那么我需要如何更新这个脚本才能只显示名称+分数:

const csv = require('csv-parser');
const fs = require('fs');

fs.createReadStream('./FFA/csv/rankme.csv')
.pipe(csv({ delimiter: ',', from_line: 2 }))
.on('data', (row) =>
{

console.log(row);
});

我调整了我的密钥如下:

const csv = require('csv-parser');
const fs = require('fs');
fs.createReadStream('./FFA/csv/rankme.csv')
.pipe(csv({ delimiter: ',', from_line: 2 }))
.on('data', (row) =>
{
const keyLookup = ['name', 'score', 'kills'];
const newData = Object.keys(row)
.filter(key => keyLookup.includes(key))
.reduce((obj, key) => {
obj[key] = row[key];
return obj;
}, {});
console.log(newData);
});

得到以下结果:

{ name: 'liHi-', score: '998', kills: '1' }
{ name: 'xyCe', score: '1004', kills: '3' }
{ name: 'Лови Аптечка Брат', score: '1000', kills: '0' }
{ name: 'buronhajredini108', score: '1000', kills: '0' }

完美

最新更新