javascript实现字典数据结构

Visual Studio Code:JavaScript——使用变量进行姓名、年龄、电话号码的储存,通过alert弹框显示数据 【关卡前提】 掌握JS基础属性 根据需求搜索对应扩展属性 【关卡要求】 使用变量进行姓名、年龄、电话号码的储存,通过alert弹框显示数据。 【关卡效果】 练习一: 【知识补充】 JavaScript 变量 与代数一样,JavaScript 变量可用于存放值(比如 x=5)和表达式(比如 z=x+y)。 变量可以使用短名称(比如 x 和 y),也可以使用描述性更好的名称(比如 age, sum, totalvolume)。 变量必须以字母开头 变量也能以 $ 和 _ 符号开头(不过我们不推荐这么做 阅读详情

字典是一种以键值对存储数据的一种结构

其实我们可以使用数组和对象去实现字典结构,但是,我们自己定义一个Dictionary类,让这种字典类型使用起来更加简单,使用()来引用键更加方便;

定义Dictionary类

function Dictionary(){
    this.datastore = new Array();
}

给Dictionary原型添加方法:

Dictionary.prototype = {
//添加方法:
}

一、 添加字典键值的方法

add: function(key, value){
           this.datastore[key] = value;
         }


二、移除某一对键值的方法:

 remove: function(key){
          delete this.datastore[key];
    }


三、打印所有键值对的方法:

 showAll: function(){
        console.log(Object.keys(this.datastore));
        for (var key in this.datastore){
            console.log(key + ':' + this.datastore[key]);
        }
    }


四、获取字典中元素的个数

  count: function(){
        // console.log(this.datastore.length);这个不能用,因为,当键的类型为字符串时,length不能用
        var count = 0;
        for (var i in this.datastore){
            count ++;
        }
        return count;
    }


五、清空字典的内容

clear: function(){
         for (var key in this.datastore){
            delete this.datastore[key];
        }


六、以键值为一定顺序打印

  showSortAll: function(){
        var keys = Object.keys(this.datastore).sort();
        for (var i in keys){
            key = keys[i];
            console.log(key + ":" + this.datastore[key]);
        }
    }



实例:

  var dic = new Dictionary();
      dic.add("c", 3);
      dic.add("a", 2);
      dic.add("b", 9);
      dic.showAll();// c:3 a:2 b:9
      dic.remove('a');
      dic.showAll();// c:3 b:9
      console.log(dic.count());//2
      dic.showSortAll(); b:9 c:3
      dic.clear();
      dic.showAll();// null
Halcon实战:5分钟搞定灰度图转热力图(附完整代码) 本文提供了一份Halcon实战指南,详细讲解如何在5分钟内将灰度图转换为直观的热力图。通过核心代码演示了利用HSV颜色模型进行色彩映射的原理与步骤,包括图像归一化、通道构建与空间转换,并附赠了深度图可视化等进阶应用技巧,帮助工程师快速提升图像分析效果。 阅读详情

相关推荐

用VFP计算 CRC-16 Modbus 校验位

1. Modbus是一种串行通信协议,最初由Modicon(目前属于施耐德电气公司)于1979年开发2. Modbus协议是应用在Modicon产品上的,后来才被移植到其他产品上3. Modbus协议的通信接口可以有多种选择,如RS232、RS485、以太网等。

lddnzx的博客 518

在JavaScript中,如何存储你需要的信息 — 变量(关于变量的详细讲解)

变量是什么? 声明变量 初始化变量 var 与 let 的区别 更新变量 变量类型

muweichang的博客 958

STM32实战篇:使用USART发送/接收数据

在发送字符时也可以直接使用其对应的ASCLL码,例如: USART_SendData(USART1, 0x61);

qq_74114817的博客 596

解构方法的学习1.数组解构2.字典解构

<script> // 变量的解构 // 数组的解构方式 const GAME = ['王者荣耀','NBA2KONLIE','刺激战场','LOL']; let [n1,n2,n3,n4] = GAME; console.log(n1,n2,n3,n4) // 字典的解构方式 const country = { name:'china', position:'东方', say:function(){ console.log('i am a chinese.') .

富在术数不在劳身,利在势局不在力耕。 255

【electron】- 从零到一:在electron-vite项目中集成better-sqlite3的工程化实践

本文详细介绍了在electron-vite项目中集成better-sqlite3数据库的完整工程化实践。针对原生模块的编译挑战,提供了从环境配置、路径规划、服务封装到IPC通信的解决方案,并重点解决了开发与生产环境的数据库路径分离及打包部署等核心问题,帮助开发者构建稳定高效的Electron桌面应用数据层。

weixin_29306571的博客 205

【PyBind11+anaconda+opencv+windows11+cmake+wsl+vscode】从入门到跑通。构建基于opencv c++的python package

如何安装请详见上文 【PyBind11+anaconda+opencv+windows11+cmake+wsl+vscode】从入门到跑通。构建基于opencv c++的python接口_子韵如初的博客-优快云博客w不需要安装啥x11 、 xming直接mobxterm可以搞定点击右上角的X server打开可视化服务器然后 apt install x11-apps -yxclock 搞定从mobxterm可以看到display的端口X11显示可视化的原理是就是通过X协议,类似于http对linux于w

weixin_43953700的博客 3万+

理解Redis设计与实现(三):字典

&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;字典,又称为符号表(symbol table),关联数组(associative array)或映射(map),是一种用于保存键值对(key-value pair)的抽象数据结构。 &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;在字典中,一个键(key)可以

LrvingTc的博客 391

VisionMaster 4.2.0安装

按照顺序安装。

XuXing_java的专栏 3790

js中的解构

所谓解构,就是按照一定模式,从数组和对象中提取值,对变量进行赋值。 1.数组中的解构 以前的赋值 let a = 1; let b = 2; let c = 3; 使用解构就可以这样赋值 let [a, b, c] = [1,2,3] [1,2,3] 数组中的值会依次的赋值给a,b,c。 如果变量的个数小于数组的元素的个数,无影响。 let [a, b] = [1,2,3] //a 1 //b 2 如果变量的个数大于数组的元素的个数 let [a, b, c, d] = [1,2,3] //a

zyh2525246的博客 1万+

遇到问题--OpenClaw--API rate limit reached. Please try again later429 您的账户已达到速率限制,请您控制请求频率

OpenClaw调用glm-4.7-flash模型时触发智谱AI平台429速率限制错误。分析发现当前重试策略采用固定间隔(7-11秒)导致连续失败,且未记录关键响应头信息。解决方案分三步:1)开启响应头日志获取配额详情;2)将重试策略改为带抖动的指数退避(初始1秒,最大60秒);3)在网关层实现令牌桶限流主动控制请求频率。需特别注意令牌配额(TPM)可能比请求次数(RPM)更早触达限制。

直到世界的尽头 2618

网络系统管理专栏-配套练习+知识点详解

网络系统管理专栏-配套练习+知识点详解

bfq05234214的博客 682

javascript字典数据结构Dictionary实现

<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <t...

diehe5608的博客 240

uniapp - 使用web-view加载本地网页vue页面,用webview导入本地网页,uniAPP中使用web-view加载的本地及远程vue页面+双向通讯功能(兼容微信小程序、安卓苹果APP)

uniapp的App端web-view加载本地html,uniapp微信小程序webview加载本地HTML文件,在uniAPP中使用web-view加载的本地及远程vue页面且进行双向通讯,uni-app的web-view组件,支持加载远程网页,在app环境下,还支持加载本地HTML页面。uniapp WebView组件实现本地网页加载与通讯传值,uniAPP如何内嵌webView引入本地的vue网页示例代码,uniapp在web-view加载的本地及远程HTML中调用uni的API及网页和vue页面跳转

🏆 前端领域优质创作者 5226

数据结构与算法八(js 实现字典)

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>字典类型</title> </head> <body> <script> // 创建字典的构造函数 function...

ZhaiAlan的博客 308

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

js实现数据结构--字典

什么是字典? 字典也称映射,是一些元素的结合,字典中的元素也是互不相同且不重复的。字典与集合很相似,集合以[值, 值]的形式存储元素,字典则以[键,值]的形式来存储元素。 字典的特点: 字典中的元素互不相同 字典中的元素不重复 字典中的元素以[键,值]的形式存在 生活中字典的典型例子: 生活中字典的例子:如单词和它的释义,地址簿等 js实现定义字典及一些基本方法: 首先是定义字典的...

阳光下的冷静的博客 1157

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

数据结构与算法-字典(js实现)

       字典是一种以键 - 值对形式存储数据的数据结构,就像电话号码簿里的名字和电话号码一样。要找一个电话时,先找名字,名字找到了,紧挨着它的电话号码也就找到了。这里的键是指你用来查找的东西,值是查找得到的结果。        JavaScript 的 Object 类就是以字典的形式设计的。本文将使用 Object 类本身的特性,实现一个 Dictionary 类,让这种字典类型的对...

李可可的博客 449

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

javascript map 排序_数据结构-JavaScript字典结构的编程实现

字典是一类特殊的数据元素的集合,字典的基本单元为数对,所谓数对是指类似(key,value)形式的数据。每一个数对结构包括了关键字key与该元素对应的value值,在一个普通字典所组成的数对集合中,关键字是不相等的,多重字典允许数对具有相同关键字。字典可以使用基本数据结构数组顺序表与链表进行设计与实现。对与使用数组形式实现字典可直接借助javascript提供的数组key=>value,定义...

weixin_39978350的博客 186

js 实现数据结构 -- 字典(Dictionary)

原文:   在 Javascript 中学习数据结构与算法。 概念:   集合、字典、散列表都可以存储不重复的数据。字典和我们上面实现的集合很像。   当然,字典中的数据具有不重复的特性。js 中 Object 的键值对 key: value 的形式就是字典的实现,所以字典通常也称为映射。 实现一个简单的字典类: class Dictionary { ...

808

基于js的对象实现字典数据结构

字典 字典的定义 字典和集合很相似,集合以[值,值]的形式存储元素,字典则是以[键,值]的形式来存储元素。字典也称作映射。 字典的实现 // 字典 export default function() { this.items = {}; // 判断字典中是否有该值 this.__proto__.has = function(key) { return this.items.hasOwnProperty(key); }; // 向字典中添加新的值

浪头的博客 507

数据结构与算法8:用JavaScript 实现 字典 结构

常用方法: set(key, value) 添加键值对 has(key)判断字典中是否有某个key remove(key)从字典中移除元素remove get(key) 根据key去获取value keys() 获取多有的keys values()获取所有的value size() 查看大小 clear()方法 // 封装字典 // 创建字典的构造函数 function Dictionary() { // 字典属性 this.items = {} // 字典操作方法 /

Asdas_的博客 476

JavaScript实现数据结构 -- 字典

文章目录字典字典的常用操作增删改查字典的应用两个数组的交集(leetcode:349)思路代码两数之和(leetcode:1)思路代码无重复字符串的最长子串(leetcode:3)思路代码 字典 字典与集合类似,也是一种存储唯一值的数据结构,字典以键值对的形式进行存储,在ES6中有字典Map。 字典的常用操作 增 使用set()方法可以向字典中添加新成员,可连续添加。 删 使用delete()方法可以删除字典成员,删除字典中不存在的成员不报错。 使用clear()方法清空字典成员。 改 使用set()

Sun_blog 1079

数据结构:JavaScript实现字典

字典是一种以键值对形式存储数据的数据结构,这里的键是指用来查找的东西,值是查找得到的结果 代码如下 function Dictionary(){ this.add = add; this.dataStore = new Array(); this.find = find; this.remove = remove; this.showAll = showAll; this.coun

张小水儿的博客 406

js实现数据结构及算法之字典(Dictionary)

字典(Dictionary)字典是一种以 键-值对 形式存储数据的数据结构 ,就像我们的电话簿一样,要找一个电话时,首先先找到该号码的名字,名字找到了,紧接着电话号码也就有了JavaScript 中的 Object 类就是以字典的形式设计的,我们要实现一个Dictionary类,这样会比Object方便显示字典中的所有元素,对属性进行排序等js实现 /** * 一个简单的字典 * @con...

weixin_33973600的博客 273

javascript实现Map(字典)数据结构

字典 离散表(哈希表) 离散表解决冲突问题 分离链接 线性探查

通俗易懂 1254

js 在已有字典中存数据_js 实现数据结构 -- 字典(Dictionary)

原文:概念:集合、字典、散列表都可以存储不重复的数据。字典和我们上面实现的集合很像。当然,字典中的数据具有不重复的特性。js 中 Object 的键值对 key: value 的形式就是字典的实现,所以字典通常也称为映射。实现一个简单的字典类:class Dictionary {constructor() {this.items = {}}set(key, value) {this.items[k...

weixin_36104309的博客 620
上一篇: javascript实现链表结构
下一篇: javascript实现图的广度优先搜索、深度优先搜素
景洪在编程
博客等级 码龄9年 13粉丝 63原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值