前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >JS 字典

JS 字典

作者头像
訾博ZiBo
发布2025-01-06 18:47:29
发布2025-01-06 18:47:29
6200
代码可运行
举报
运行总次数:0
代码可运行

JS 字典

1、概述

  • 字典是一种以键-值对形式存储数据的数据结构,比如:名字-电话号码,通过名字就能找到对应的电话号码,名字就是键(key),电话号就是值(value);
  • 字典中的,是值在字典中的索引
  • 对于 js 来说,字典类(Dictionary)的基础是 Array 类, js 中的 Array 既是一个数组,同时也是一个字典

2、字典的创建和使用:方法一

代码语言:javascript
代码运行次数:0
运行
复制
const dic = {
    1: "dage",
    2: "erge",
    3: "sange",
}
// 遍历字典
console.log("原始的字典元素: ");
for (let dicKey in dic) {
    console.log(dicKey + "==" + dic[dicKey]);
}
// 添加元素
dic[4] = "sige";
// 取元素
console.log("取元素: ");
console.log(dic[4]);

3、字典的创建和使用:方法二

代码语言:javascript
代码运行次数:0
运行
复制
const dic = [];
// 此写法与上同
// const dic = new Array();
// 添加元素
dic["name"] = "zibo";
dic["age"] = 25;
// 取元素
console.log(dic["name"]);
console.log(dic["age"]);
// 删除元素:方法一
delete dic["name"];
// 再次取元素
console.log(dic["name"]); // undefined
console.log(dic["age"]);
// 添加元素
dic["name"] = "zibo";
// 删除元素:方法二
delete dic.name;
// 再次取元素
console.log(dic["name"]); // undefined
console.log(dic["age"]);

4、更全面的字典操作

参考文章:https://blog.csdn.net/ganyingxie123456/article/details/78163154

参考文章:https://www.cnblogs.com/xt112233/p/15126198.html

下面的操作非常有用,进行摘录!

代码语言:javascript
代码运行次数:0
运行
复制
    function add(key, value){   // 添加字典的键值(key:value)
        this.dataStore[key] = value;
    }
    function show(){            //显示字典中的键值(key:value)
        for(var key in this.dataStore){
            console.log(key + " : " + this.dataStore[key]);
        }
    }
    function find(key){         // 根据键(key)查找对应的值(value),返回值value
        return this.dataStore[key];
    }
    function remove(key){       // 根据键(key)删除对应的值(value)
        delete this.dataStore[key];
    }
    function count(){           // 计算字典中的元素个数
        var n = 0;
        for(var key in Object.keys(this.dataStore)){
            ++n;
        }
        return n;
    }
    function kSort(){           // 字典按值(value)排序,并输出排序后的结果
        var dic = this.dataStore;
        var res = Object.keys(dic).sort();
        for(var key in res ){
            console.log(res[key] + " : " + dic[res[key]]);
        }
    }
    function vSort(){           // 字典按值(value)排序,并输出排序后的结果
        var dic = this.dataStore;
        var res = Object.keys(dic).sort(function(a,b){ 
            return dic[a]-dic[b]; 
        });
        for(var key in res ){
            console.log(res[key] + " : " + dic[res[key]]);
        }
    }
    function clear(){           // 清空字典内容
        for(var key in this.dataStore){
            delete this.dataStore[key];
        }
    }
    function Dictionary(){              
        this.dataStore = new Array(); // 定义一个数组,保存字典元素
        this.add = add;               // 添加字典内容(key:value)
        this.show = show;             // 显示字典中的键值
        this.find = find;             // 根据键(key)查找并返回对应的值(value)
        this.remove = remove;         // 删掉相对应的键值
        this.count = count;           // 计算字典中的元素的个数
        this.kSort = kSort;           // 按键(key)排序
        this.vSort = vSort;           // 按值(value)排序
        this.clear = clear;           // 清空字典内容
    }

    var dic = new Dictionary();       // 构造字典类
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-04-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • JS 字典
    • 1、概述
    • 2、字典的创建和使用:方法一
    • 3、字典的创建和使用:方法二
    • 4、更全面的字典操作
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档