一道nodejs+ES6的练习题,求大神给解题思路

情景设定:有一群学生做兼职实践,每个学生有自己的id,每个学生每次兼职赚到的钱会记录在txt中(有的同学兼职多次)。任务要求:用nodejs写一个程序,要求是读取本地一个... 情景设定:有一群学生做兼职实践,每个学生有自己的id,每个学生每次兼职赚到的钱会记录在txt中(有的同学兼职多次)。

任务要求:
用nodejs写一个程序,要求是读取本地一个叫study.txt的文件。里面的内容为:
wang 60
xiaoli 80
wang 40
。。。

统计每个同学各自共赚到多少钱?并输出按总额排序的表。

寻求解题思路,想得头都炸了!感激不尽。
展开
 我来答
青橙千人斩
2017-12-11 · TA获得超过101个赞
知道小有建树答主
回答量:126
采纳率:42%
帮助的人:46.5万
展开全部

1、分析数据来源

首先我们观察study.txt文件中的内容格式:

studentID+空格+赚的钱数,且每一行只有一条记录,我们需要做的就是声明一个变量:

var studyData = { };

2、在nodejs中有自带的fs库处理文件。利用fs库读取文件,再利用js原生函数split将 studentID和赚的钱数分割开来并赋值到studyData中,如:studyData = {"wang": 60, "xiaoli": 80, "wang": 40 },再对studyData进行处理,将其中key值相等的合并在一起,最后变成这样:studyData = {"wang": 100, "xiaoli": 80 },到这一步,我们已经知道了每个同学各自赚到多少钱了。

3、根据json对象的属性对studyData进行排序,sort()。

生成按照总额排序的表,这里的表题主指的是excel表格吧,我们可以使用"xlsx"库,将已经排好序的数据直接生成excel表格,xlsx链接,至此,完成。

玩转数据处理
2017-12-06 · 数据处理,Python,dotnet
玩转数据处理
采纳数:1613 获赞数:3794

向TA提问 私信TA
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
1633602558
2017-12-06 · TA获得超过268个赞
知道小有建树答主
回答量:185
采纳率:71%
帮助的人:36.8万
展开全部
用原生JS 或 VBS 写的行不? 还有能用FileSystemObject吗?
追问
可以用JS
追答

回答被百度吃了三次,蛋痛中,我再重发一次吧!

--------------------------------------------------------------------

------------------------------------------------------------

【study.txt】内容

wang 60
xiaoli 80
wang 40
张三 120
李四 250
张三 500

【node.js】内容

function GetText(fileName){
var Object = new
ActiveXObject('Scripting.FileSystemObject');
var String =
Object.OpenTextFile(fileName ,1).ReadAll();
Object.OpenTextFile(fileName
,1).close();
return String;
}

if(typeof(alert)=="undefined"){
var alert=function(text){new
ActiveXObject('WScript.Shell').Popup(text,0,'系统提示',48)};
}

var name={};
var value=GetText("study.txt");

value.replace(/^([a-z]+|[\u4E00-\u9FA5]+)\s+(\d+)$/igm,
function($1,$2,$3){
if( typeof(name[$2])!="undefined" ){
name[$2]+=parseInt($3);//number
}else{
name[$2]=parseInt($3);//undefined
}
return $1
}
);

alert( value );//全部文本

alert(  "wang 的数据是" + name["wang"] );

alert(  "张三 的数据是" + name["张三"] );

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式