zhengwei1949 / myblog

个人博客
10 stars 6 forks source link

统计一本书的单词出现频率 #113

Open zhengwei1949 opened 6 years ago

zhengwei1949 commented 6 years ago
//调用node  fs模块
var fs = require("fs");
//读取文件。执行回调函数
fs.readFile('a.txt', 'utf-8', function (err, data) {
    if (err) {
        //若读取失败打印err
        return console.log(err);
    } else {
        //若读取成功执行下面代码
        console.time("test");
        var arr = data.split(" " || "," || "?" || ".");
        var ArrLen = arr.length;
        var object = {};

        for (var i = 0; i < ArrLen; i++) {
            var val = arr[i];
            if (val in object)
                object[val]++;
            else
                object[val] = 1;
        }
        var Arrsort = [];
        for (i in object) {
            Arrsort.push({name:i,count:object[i]});
        }
        Arrsort.sort(function (n1, n2) {
            return n2.count - n1.count
        })
        var str = ''
        for(var i=0;i<Arrsort.length;i++){
            str += '单词:' + Arrsort[i].name + '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;出现次数:' +Arrsort[i].count + '<br>'
        }
        var html =
            `
                    <!DOCTYPE html>
                    <html lang="en">
                    <head>
                        <meta charset="UTF-8">
                        <meta name="viewport" content="width=device-width, initial-scale=1.0">
                        <meta http-equiv="X-UA-Compatible" content="ie=edge">
                        <title>Document</title>
                    </head>
                    <body>
                        ${str}
                    </body>
                    </html>
                `
        fs.writeFile('./统计结果.html', html, (err, data) => { })
    }

})