雅涵

个人网站:https://wenyayun.com

导航

日常刷题

在千里码里看到一题,谷雨日志统计访客数据的题目:

 

  每一个网站都会根据访客日志统计访客数据,比如UV(Unique Visitor,即访问用户)。

  UV能够回答一个关键的市场营销问题:“到底有多少人(潜在客户)看到了你发布的信息(即网站)”。

  这道题的任务是根据给出的某购物网站访问日志,统计当天该网站UV。

日志文件的每一行代表一次访问行为,每行分别包含三项,以空格分隔,格式为:

  用户访问的时间 用户的id 用户的行为

  请问8月24号当天,该网站有多少个用户(相同用户id算一个用户)访问?

 

 

当然这个问题对与后端开发的同学肯定是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模块就是文件系统模块,负责读写文件。

和所有其它JavaScript模块不同的是,fs模块同时提供了异步和同步的方法。

 

posted on 2017-08-08 23:07  Mona-雅  阅读(86)  评论(0编辑  收藏  举报