在写js的时候,碰到需要使用类似hashmap的情况。

1、有一种比较简单的实现办法,但是使用起来局限性比较大。

var obj1={"a":1,"b":2};

alert(obj1["a"]);

这是一种功能非常简单的键值对,只能够小范围的定义和取值。

2、自己写js函数实现,使用更广,可以直接使用。

定义函数:

function Map() {
this.keys = new Array();
this.values= new Array();
//添加键值对
this.set = function (key, value) {
if (this.values[key] == null) {//如键不存在则身【键】数组添加键名
this.keys.push(value);
}
this.values[key] = value;//给键赋值
};
//获取键对应的值
this.get = function (key) {
return this.values[key];
};
//去除键值,(去除键数据中的键名及对应的值)
this.remove = function (key) {
this.keys.remove(key);
this.values[key] = null;
};
//判断键值元素是否为空
this.isEmpty = function () {
return this.keys.length == 0;
};
//获取键值元素大小
this.size = function () {
return this.keys.length;
};
}

调用函数:

var t=new Map();

t.set(‘1’,’2’); //添加

var value1=t.get('1'); //取得键值对相应的值

etc.

这里也体现了JavaScript中面向对象的思想。

JavaScript中实现键值对的方法相关推荐

  1. python中字典的键是唯一的吗_python 零散记录(四) 强调字典中的键值唯一性 字典的一些常用方法...

    dict中键只有在值和类型完全相同的时候才视为一个键: mydict = {1:1,'':1} #此时mydict[1] 与 mydict['1']是两个不同的键值 dict的一些常用方法: clea ...

  2. 【笔记】python的遍历字典:遍历所有键值对(方法items())、遍历字典中的所有键(方法keys())、按特定顺序遍历字典中的所有键、遍历字典中的所有值(方法values())、函数set()

    文章目录 一.python的遍历字典 二.遍历所有键值对(方法items()) 三.遍历字典中的所有键(方法keys()) 四.按特定顺序遍历字典中的所有键 五.遍历字典中的所有值(方法values( ...

  3. php中合并数组保留键值,php合并数组并保留键值的实现方法

    下面为大家分享一篇php合并数组并保留键值的实现方法,具有很好的参考价值,希望对大家有所帮助. php合并数组,一般会使用array_merge方法. array_merge - 合并一个或多个数组 ...

  4. 在JavaScript中重复字符串的三种方法

    In this article, I'll explain how to solve freeCodeCamp's "Repeat a string repeat a string" ...

  5. python字典的键可以用列表吗_python字典多键值及重复键值的使用方法(详解)

    在Python中使用字典,格式如下: dict={ key1:value1 , key2;value2 ...} 在实际访问字典值时的使用格式如下: dict[key] 多键值 字典的多键值形式如下: ...

  6. php数组只保留键值,php合并数组并保留键值的实现方法

    php合并数组,一般会使用array_merge方法. array_merge - 合并一个或多个数组 array array_merge ( array $array1 [, array $... ...

  7. Redis中的键值过期操作

    1.过期设置 Redis 中设置过期时间主要通过以下四种方式: expire key seconds:设置 key 在 n 秒后过期: pexpire key milliseconds:设置 key ...

  8. java redis 过期_Redis中的键值过期操作

    1.过期设置 Redis 中设置过期时间主要通过以下四种方式: expire key seconds:设置 key 在 n 秒后过期: pexpire key milliseconds:设置 key ...

  9. javascript 中搜索数组的四种方法

    前端经常要通过 javaScript 来处理数组中的数据,其中就包括检查数组中是否包含满足特定搜索条件的单个或者多个值,这就需要我们关于用于确认的布尔值.数组中值得位置索引或包含所有搜索结果的单独数组 ...

最新文章

  1. linux 文件的打包和解压
  2. wps保存的csv文件是什么编码的_Python文件读写详解.md
  3. 离线轻量级大数据平台Spark之中文字符显示问题的解决
  4. BZOJ4855 : [Jsoi2016]轻重路径
  5. 不同局域网内经Internet的P2P通信技术总结
  6. boost::filesystem::path的用法测试程序
  7. P2151 [SDOI2009]HH去散步
  8. Linux 正则表达式基础
  9. AIX6.1下WebLogic的nohup日志按天分割
  10. Server Core 的部署与管理
  11. Linux常用的基本命令08
  12. Python并行编程(四):多线程同步之condition(条件变量)实现带有缓冲区的生产者-消费者模型...
  13. 如何学习ERP系统并从事相关职业?
  14. 【图像去噪】基于马尔可夫随机场实现图像去噪附matlab代码
  15. 【LeetCode刷题——数据结构篇】
  16. EduSoho教育周报(0805-0811)
  17. java take,Java DelayQueue take()用法及代码示例
  18. 样本驱动的半自动图像集前背景分割_爱学术—免费下载
  19. python工程师都习惯用哪些开发工具呢
  20. 自学资源(视频+文本)

热门文章

  1. 如何让业务实现三周内实现点击率翻倍?我们是这么做到的...
  2. Knowledge Graph Convolutional Networks for Recommender Systems with Label Smoothness Regularization
  3. 关于虚拟机VMware中打开Ubuntu20.04提示AMD-V处于禁用状态解决办法(基于MSI微星主板)
  4. 大学计算机长文档排版教学视频教程,大学计算机基础中Word长文档排版的教学思考...
  5. 【Word】长文档排版
  6. 【U盘刷机】小米路由器变砖如何100%刷机成功
  7. 微信跳一跳 可以直接更改分数, POST 请求没有校验
  8. 图数据库ONgDB Release v-1.0.0
  9. 《输赢》精彩段落总结
  10. 哈尔滨理工大学第七届程序设计竞赛决赛(网络赛-高年级组)G - 幼儿园战争...