在千里码里看到一题,谷雨日志统计访客数据的题目:前端
每个网站都会根据访客日志统计访客数据,好比UV(Unique Visitor,即访问用户)。后端
UV可以回答一个关键的市场营销问题:“到底有多少人(潜在客户)看到了你发布的信息(即网站)”。异步
这道题的任务是根据给出的某购物网站访问日志,统计当天该网站UV。网站
日志文件的每一行表明一次访问行为,每行分别包含三项,以空格分隔,格式为:ui
用户访问的时间 用户的id 用户的行为
请问8月24号当天,该网站有多少个用户(相同用户id算一个用户)访问?spa
固然这个问题对与后端开发的同窗确定是so easy, 我是一个前端开发,因此如下是个人解题方法。日志
const fs = require('fs') const users = {} fs.readFile('uv.txt', (err, data) => { let i = 0 data.toString().split('\n').forEach(row => { const items = row.split(' ') if (items[0].includes('08-24') && !users[items[1]]) { users[items[1]] = 1 i++ } }) console.log(i)//57856 })
Node.js内置的fs
模块就是文件系统模块,负责读写文件。code
和全部其它JavaScript模块不一样的是,fs
模块同时提供了异步和同步的方法。ip