• JavaScript数据结构与算法-字典练习


    字典的实现

    // 字典类
    function Dictionary () {
        this.add = add;
        this.dataStore = new Array();
        this.find = find;
        this.remove = remove;
        this.showAll = showAll;
        this.count = count;
        this.clear = clear;
    }
    function add (key, value) {
        this.dataStore[key] = value;
    }
    function find (key) {
        return this.dataStore[key];
    }
    function remove (key) {
        delete this.dataStore[key];
    }
    function showAll () {
        let datakeys = Array.prototype.slice.call(Object.keys(this.dataStore));
        for (let key in datakeys.sort()) {
            console.log(`${datakeys[key]} -> ${this.dataStore[datakeys[key]]}`);
        }
    }
    // 计数
    function count () {
        let n = 0;
        for (let key in Object.keys(this.dataStore)) {
            ++n;
        }
        return n;
    }
    // 清空
    function clear () {
        Object.keys(this.dataStore).forEach((key) => {
            delete this.dataStore[key];
        }, this);
    }
    

    练习

    使用Dictionary类写一个程序,该程序用来存储一段文本中各个单词出现的次数。该程序显示每个单词出现的次数,但每个单词只显示一次。比如下面一段话“the brown fox jumped over the blue fox”,程序的输出应为:

    • the: 2
    • brown: 1
    • fox: 2
    • jumped: 1
    • over: 1
    • blue: 1
    function showWordCount (word) {
        let d = new Dictionary();
        let words = word.split(' ');
        for (let i = 0, max = words.length; i < max; ++i) {
            // 首次出现
            if (typeof d.find(words[i]) === 'undefined') {
                d.add(words[i], 1);
            } else {
                ++d.dataStore[words[i]];
            }
        }
        Object.keys(d.dataStore).forEach((key) => {
            console.log(`${key}: ${d.find(key)}`);
        }, this);
    }
    // 示例
    showWordCount('the brown fox jumped over the blue fox');
    

    JavaScript数据结构与算法-字典练习

  • 相关阅读:
    (转载) Hadoop科普文——常见的45个问题解答
    JSP---设置CooKIe
    JSP---使用HTML完成定时跳转功能
    JSP接受全部请求参数名称及其对应内容
    JSP用户登录程序实现
    jsp连接数据库MySql
    MapReduce程序--成绩统计
    Java中的StringTokenizer类的使用方法
    eclipse hadoop开发环境配置
    解决SDK Manager无法更新问题
  • 原文地址:https://www.cnblogs.com/mazey/p/8322374.html
Copyright © 2020-2023  润新知