JavaScript中实现键值对的方法

来源:互联网 发布:php 日期格式转时间戳 编辑:程序博客网 时间:2024/05/16 02:26

在写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中面向对象的思想。




0 0