`
Stilmyi
  • 浏览: 9636 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
最近访客 更多访客>>
社区版块
存档分类
最新评论

js map集合的封装

阅读更多

   Map = function(){
this._array = new Array();
}

MapObj = function(k,v){
this.K = k;
this.V = v;[b][/b]

this.getK = function(){
return this.K;
}

this.getV = function(){
return this.V;
}

this.toString = function(){
return "[" + this.K + "," + this.V + "]";
}
}

Map.prototype.indexOf = function(K) {
for(var i=0;i<this.size();i++){
if(this._array[i].getK() == K){
return i;
}
}
return -1;
}

Map.prototype.put = function(K,V){  // put Method
var index = this.indexOf(K);
index != -1 ? this._array[index].V = V : this._array.push(new MapObj(K,V));
}

Map.prototype.get = function(K){  // get Method
var index = this.indexOf(K);
return (index != -1 ? this._array[index].getV() : null);
}

Map.prototype.keySet = function(){  // keySet Method
var keys = new Array();
for(var i=0;i<this.size();i++){
var key = this._array[i].getK();
keys.push(key);
}
return keys;
}

Map.prototype.values = function(){  // values Method
var values = new Array();
for(var i=0;i<this.size();i++){
var value = this._array[i].getV();
values.push(value);
}
return values;
}

Map.prototype.size = function(){    //size Method
return this._array.length;
}

Map.prototype.remove = function(K){  //remove Method
var index = this.indexOf(K);
if(index != -1){
for(var i=index;i<this.size();i++){
this._array[i] = this._array[i+1];
}
this._array.length --;
}
}

Map.prototype.isEmpty = function(){  // isEmpty Method
return this.size() == 0;
}

Map.prototype.entrySet = function(){  // entrySet Method
return this._array;
}

Map.prototype.containsKey = function(K){  // containsKey Method
return (this.indexOf(K) != -1 ? true : false);
}

Map.prototype.containsValues = function(V){  //containsValues Method
for(var i=0;i<this.size();i++){
if(this._array[i].getV() == V){
return true;
}
}
return false;
}

Map.prototype.clear = function(){  //clear Method
for(var i=0;i<this.size();i++){
this._array[i] = null;
}
this._array.length = 0;
}

分享到:
评论

相关推荐

    js封装Map集合

    项目需要 像Java一样用js自己封装了一个Map集合 希望和大家一起分享

    js封装的Map集合,用法与java一致

    js封装的Map集合,用法与java一致,js封装的Map集合,用法与java一致

    Javascript经典封装代码

    "JavaScript经典封装代码"集合了开发者们在实践中总结出的一些高效、实用的代码片段,旨在提高开发效率,优化代码结构,增强程序的可读性和可维护性。下面,我们将深入探讨这些经典封装代码背后的原理和应用场景。 ...

    MapUtils工具类,轻松转换map数据与实体类

    `MapUtils`工具类就是为了解决这样的问题而设计的,它简化了`Map`对象和实体类之间的转换过程。本篇文章将深入探讨`MapUtils`工具类的使用及其在Java开发中的重要性。 首先,让我们了解一下实体类。在Java中,实体...

    JS参考文档 集合 适合WEB开发者

    "JS参考文档 集合"提供了一套完整的资料,为WEB开发者提供了全面且整理过的JavaScript知识体系,使得学习和查阅变得更加高效。 在JavaScript中,集合是一个重要的概念,它指的是具有特定特性的数据结构,如数组、...

    javascript 脚本集合

    6. **JavaScript对象**:JavaScript的对象是键值对的集合,可用来封装数据和方法。原型链允许对象之间共享属性和方法,构造函数和原型对象是创建和继承对象的关键。 7. **闭包**:闭包是JavaScript中一个重要的概念...

    JavaScript经典案例大集合

    这个压缩包“JavaScript经典案例大集合”显然是为帮助初学者深入理解和掌握JavaScript而设计的。下面,我们将详细探讨这些经典案例可能涉及的知识点,并分享一些学习JavaScript的重要原则和技巧。 1. **变量和数据...

    javascript实例集合

    6. **对象和原型链**:JavaScript中的对象是键值对的集合,可以用来封装复杂的数据结构。原型链是JavaScript实现继承的方式,允许对象间共享属性和方法。实例会涵盖对象创建(字面量、构造函数)、原型方法和属性的...

    Java笔记Map,九大内置对象

    在Java编程中,Map接口是集合框架的重要组成部分,它提供了键值对(key-value pair)的存储方式。Map的四大遍历方式分别是: 1. 使用迭代器 Iterator: ```java Map, String&gt; map = new HashMap(); for (Iterator...

    ngx-amap:AMap的角度2+分量(高德图)

    amap是为在Angular (ver&gt; = 2.x)项目中便捷,高效地使用高德地图Javascript API而构建的组件集合目录最新进度2020.02.06:v3.0.0 新:支持AMapUI库,可通过AmapUILoaderService服务加载使用,部分UI组件也封装写入...

    backbone.js underscore.js

    Backbone.js 和 Underscore.js 是两个在JavaScript开发中广泛使用的库,它们为构建复杂的Web应用程序提供了强大的工具。这两个库都是基于jQuery库,其中jQuery-1.10.2.js是jQuery的一个版本,它为DOM操作、事件处理...

    DWR中处理集合总结

    在DWR(Direct Web Remoting)中,处理集合是一项关键任务,因为它允许...通过合理的配置和JavaScript的封装,开发者可以在不离开客户端页面的情况下,方便地与服务器进行数据交换,提高了Web应用的交互性和用户体验。

    china.js 中国及各地js 文件压缩包

    "china.js 中国及各地js 文件压缩包" 是一个专门针对中国地图数据和ECharts图表库的JavaScript资源集合。这个压缩包包含的核心组件是`china.js`,这可能是一个定制的JavaScript库,用于处理和展示中国地理信息,尤其...

    爬虫demo、List封装、extjs

    标签“爬虫集合JS”表明这个压缩包可能还涉及到JavaScript实现的爬虫,JavaScript通常用于客户端的爬虫,可以处理动态加载的内容,因为它是浏览器内执行的脚本语言。 文件名称“htmlparser1_6”可能是一个HTML解析...

    为JavaScriptTypeScript语言精心策划的数据结构集合.zip

    在JavaScript中,我们常用的数据结构包括数组(Array)、对象(Object)、映射(Map)、集合(Set)等。数组是最基本的数据结构,用于存储有序的元素序列。对象则是一种键值对的集合,提供了动态添加和访问属性的...

    100多个基础常用JS函数和各种数据转换处理集合大全.zip

    这个名为"100多个基础常用JS函数和各种数据转换处理集合大全.zip"的压缩包文件,显然是一个包含了大量实用JS函数和数据处理方法的资源库,对于学习和提升JavaScript编程技能非常有帮助。 该资源库可能是基于`outils...

    JS学习资料(自己整理)

    ES6及其后续版本不断引入新特性,如模板字符串、解构赋值、类、生成器、Set和Map数据结构、Async/Await等,大大提升了JavaScript的开发效率和代码质量。 以上只是JavaScript基础知识的一部分,实际学习中还需要结合...

    openlayer5 常见功能实例,各种实例封装组件demo

    WMTS(Web Map Tile Service)是OGC标准服务之一,用于分发地理信息。在OpenLayers 5中,你可以通过`ol.source.WMTS`来配置WMTS服务,设置服务URL、图层名、矩阵集ID等参数。实例展示了如何动态加载和切换不同级别...

    Echars封装类调用文档

    ### Echars封装类调用文档知识点详解 #### Maven依赖配置 在使用Echarts进行图表绘制之前,需要在项目中引入相应的Maven依赖。Echarts是一个基于JavaScript的图表库,能够生成丰富的交互式图表。以下为配置示例: ...

    REST_JavaMap_Req_java_JSON_

    在这个特定的场景中,"REST_JavaMap_Req_java_JSON_" 提示我们讨论的是如何在Java中使用Map对象作为REST请求的数据模型,并通过JSON(JavaScript Object Notation)进行序列化和反序列化。JSON是一种轻量级的数据...

Global site tag (gtag.js) - Google Analytics