java 自定义map_JS自定义对象实现Java中Map对象功能的方法

本文实例讲述了JS自定义对象实现Java中Map对象功能的方法。分享给大家供大家参考。具体分析如下:

Java中有集合,Map等对象存储工具类,这些对象使用简易,但是在JavaScript中,你只能使用Array对象。

这里我创建一个自定义对象,这个对象内包含一个数组来存储数据,数据对象是一个Key,可以实际存储的内容!

这里Key,你要使用String类型,和Java一样,你可以进行一些增加,删除,修改,获得的操作。

使用很简单,我先把工具类给大家看下:

/**

* @version 1.0

* 用于实现页面 Map 对象,Key只能是String,对象随意

*/

var Map = function(){

this._entrys = new Array();

this.put = function(key, value){

if (key == null || key == undefined) {

return;

}

var index = this._getIndex(key);

if (index == -1) {

var entry = new Object();

entry.key = key;

entry.value = value;

this._entrys[this._entrys.length] = entry;

}else{

this._entrys[index].value = value;

}

};

this.get = function(key){

var index = this._getIndex(key);

return (index != -1) ? this._entrys[index].value : null;

};

this.remove = function(key){

var index = this._getIndex(key);

if (index != -1) {

this._entrys.splice(index, 1);

}

};

this.clear = function(){

this._entrys.length = 0;;

};

this.contains = function(key){

var index = this._getIndex(key);

return (index != -1) ? true : false;

};

this.getCount = function(){

return this._entrys.length;

};

this.getEntrys =  function(){

return this._entrys;

};

this._getIndex = function(key){

if (key == null || key == undefined) {

return -1;

}

var _length = this._entrys.length;

for (var i = 0; i < _length; i++) {

var entry = this._entrys[i];

if (entry == null || entry == undefined) {

continue;

}

if (entry.key === key) {//equal

return i;

}

}

return -1;

};

}

如果你不懂Js中对象的创建等一些基础知识,自己可以网上查一下。

// 自定义Map对象

var map = new Map();

map.put("a","a");

alert(map.get("a"));

map.put("a","b");

alert(map.get("a"));

先弹出 a 后面弹出 b ,因为后面的会覆盖前面的!

其他方法大家自己写写看!

希望本文所述对大家的javascript程序设计有所帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值