JavaScript中实现键值对的方法

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




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值