java和C#等高级语言中都有map这样的键值对,但是js里没有,我们需要这样的,该怎么做呢?

可以自己使用function封装一个map对象,如下所示

  1. function Map() {
  2. this.keys = new Array();
  3. this.data = new Array();
  4. //添加键值对
  5. this.set = function (key, value) {
  6. var index = this.keys.indexOf(key);
  7. if (index == -1) {//如键不存在则身【键】数组添加键名
  8. this.keys.push(key);
  9. this.data.push(value)
  10. }else{
  11. this.data[index] = value;
  12. }
  13. };
  14. //获取键对应的值
  15. this.get = function (key) {
  16. var index = this.keys.indexOf(key);
  17. return this.data[index];
  18. };
  19. //去除键值,(去除键数据中的键名及对应的值)
  20. this.remove = function (key) {
  21. var index = this.keys.indexOf(key);
  22. if(index >= 0){
  23. this.keys.splice(index);
  24. this.data.splice(index);
  25. }
  26. };
  27. //判断键值元素是否为空
  28. this.isEmpty = function () {
  29. return this.keys.length == 0;
  30. };
  31. //获取键值元素大小
  32. this.size = function () {
  33. return this.keys.length;
  34. };
  35. }
  36. function test(){
  37. var map = new Map();
  38. map.set('1000001','test');
  39. map.set('1000001','test2');
  40. alert(map.get('1000001'));
  41. }

文章来源

http://www.cnblogs.com/xienb/archive/2013/01/04/2843966.html

但是我感觉这个不符合我的运用,并且在运用过程中发现有点问题,所以转载过来修改一下,自己记录一下。

JS Map对象的更多相关文章

  1. js Map对象的用法

    第一篇: Map: Map是一组键值对的结构,具有极快的查找速度. 举个例子,假设要根据同学的名字查找对应的成绩,如果用Array实现,需要两个Array: var names = ['Michael ...

  2. js map对象处理if

    onButtonClick只有一个参数时候,map和object对象都可以 // onButtonClick1(3) onButtonClick只有一个参数时候,map和object对象都可以 con ...

  3. js模拟Map对象,实现key---value

    js模拟Map对象,实现key---value 根据java中map的属性,实现key----value保存 function Map() { var struct = function (key, ...

  4. Js中Map对象的使用

    Js中Map对象的使用 1.定义 键/值对的集合. 2.语法 mapObj = new Map() 3.备注 集合中的键和值可以是任何类型.如果使用现有密钥向集合添加值,则新值会替换旧值. 4.属性 ...

  5. 转:el表达式获取map对象的内容 & js中使用el表达式 & js 中使用jstl 实现 session.removeattribute

    原文链接: ①EL表达式取Map,List值的总结 ②在jsp中使用el表达式通过键获得后台的一个map<Long,String>的值 ③在javascript中使用el表达式(有图有真相 ...

  6. JS中的Map对象

    1,js创建map对象 var map = new Map(); 2.将键值对放入map对象 map.set("key",value) map.set("key1&quo ...

  7. 在js中将map对象转换成json 和 js对cookie的操作

    在js中将map对象转换成json //msp转objectlet obj= Object.create(null); for (let[k,v] of map) { obj[k] = v; }//o ...

  8. js 操作map对象

    转自:http://smallvq123.javaeye.com/blog/823923 /* * Map对象,实现Map功能 * * * size() 获取Map元素个数 * isEmpty() 判 ...

  9. 详细了解JS Map,它和传统对象有什么区别?

    转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者.原文出处:https://www.codeproject.com/Articles/5278387/Under ...

随机推荐

  1. Java重定向IO

    import java.io.*; import java.util.*; public class Main { public static void main(String[] args) thr ...

  2. C# 事件和Unity3D

    http://zijan.iteye.com/blog/871207 翻译自: http://www.everyday3d.com/blog/index.php/2010/10/04/c-events ...

  3. 用Xcode6的Leaks检测内存泄漏

    用xcode打开项目之后,选择Product - Profile: 在弹出的窗口中选择Leaks: 然后在设备解锁的情况下,选择Leaks再点击左上角的红色按钮开始运行APP: 红色的柱子表示有内存泄 ...

  4. android中的开机自启动

    android中的开机自启动 android中的开机自启动可分为两步: 1.写一个BroadcastReceiver: public class BootReceiver extends Broadc ...

  5. TranslateAnimation详解 Android动画。

    TranslateAnimation详解 Android JDK为我们提供了4种动画效果,分别是: AlphaAnimation,RotateAnimation, ScaleAnimation, Tr ...

  6. 报错kernel:NMI watchdog: BUG: soft lockup - CPU#0 stuck for 26s

    近期在服务器跑大量高负载程序,造成cpu soft lockup.如果确认不是软件的问题. 解决办法: #追加到配置文件中 echo 30 > /proc/sys/kernel/watchdog ...

  7. 关于C++中_finite()函数的说明 [转]

    The function int _finite(double x) returns 1 (true) if x is an ordinary number and 0 (false) if x is ...

  8. Oracle Study之-AIX6.1构建Oracle 10gR2 RAC(4)

    Oracle Study之-AIX6.1构建Oracle 10gR2 RAC(4) 一.安装CRS补丁 在安装CRS之前,须要安装补丁p6718715_10203_AIX64-5L,否则在安装时会出现 ...

  9. 倍福TwinCAT(贝福Beckhoff)基础教程 松下驱动器试运行提示过速度保护怎么办

    在试运行的时候,取消勾选自动设定,然后可以自己设置过速度等级设置和过载等级设置     更多教学视频和资料下载,欢迎关注以下信息: 我的优酷空间: http://i.youku.com/acetaoh ...

  10. JAVA Eclipse中的Android程序如何使用线程

    我们先单独定义一个java类,名字可以任意取(比如叫做ClientHeartBeat类,我当前在做一个socket通信的客户端,我们假定需要一个可以测试心跳的程序),注意他要继承Thread,然后重载 ...