`
haytalent
  • 浏览: 17754 次
  • 性别: Icon_minigender_1
  • 来自: 未知国度
社区版块
存档分类
最新评论

js模仿hashmap

阅读更多

1 感想     

    javascript作为一种弱类型的语言,我们在开发时又喜欢又憎恨,一般作为开发java的我们来说,如果总是用面向对象的开发方法去学习,结果看来这并不是一个太好的方法,而当我们用JavaScript去模仿对象时,这对你的学习会起到很大的效果。这篇文章是用JavaScript去模仿java中生成一个map,也有参考别人的地方,希望大家有更好的方法能共享起来。

 

2 实践

 

function hashmap(){
				var size = 0;
				var entry = {};
				this.put = function(key,value){
					if(!this.containKey(key)){
						entry[key] = value;
						size++;
						return true;
					}else{
						return false;
					}
				},
				this.get=function(key){
					if(this.containKey(key)){
						return entry[key];
					}
				},
				this.containKey = function(key){
					return (key in entry);
				},
				this.containValue = function(value){
					for( var i in entry){
						if(entry[i] == value ){
							return true;
						}
					}
					return false;
				},
				this.clear = function(){
				   this.size =0;
				   this.entry = {};
				},
				this.size = function (){
				 	return size;
				},
				this.keysByArray = function(){
					var keys = [];
					for(var keyIndex in entry){
						keys.push(keyIndex);
					}
					return keys;
				},
				this.keysByString = function(){
					var keys = [];
					for(var keyIndex in entry){
						keys.push(keyIndex);
					}
					return keys.join();
				},
				this.valuesByArray = function(){
					var values = [];
					for(var valueIndex in entry){
						values.push(entry[valueIndex]);
					}
					return values;
				},
				this.valuesByString = function(){
					var values = [];
					for(var valueIndex in entry){
						values.push(entry[valueIndex]);
					}
					return values.join();
				},
				this.remove = function(key){
						if(this.containKey(key)){
							delete entry[key];
							size--;
						}
				}
			}
			

 

3  希望起到抛砖引玉的效果

分享到:
评论

相关推荐

    js 版 java hashmap

    在描述中提到的"js版java HashMap"可能是指一个JavaScript实现的HashMap类,它模仿了Java中的HashMap数据结构,提供了更高效和灵活的操作。Java的HashMap是一个基于哈希表的Map接口实现,提供快速的插入、删除和查找...

    js中模仿java的map使用

    Java标准库提供了多种`Map`实现,如`HashMap`、`TreeMap`等。相比之下,JavaScript原生提供了一个名为`Map`的构造函数,它也用于创建键值对集合。然而,在某些情况下,我们可能需要模拟Java中的`Map`行为,尤其是在...

    职位招聘门户:以下项目是印度SAP Labs培训的一部分,目的是模仿团队当时正在从事的项目

    4. **前端技术**:HTML、CSS和JavaScript用于构建用户界面,可能结合Bootstrap、Vue.js、React.js等前端框架提高开发效率和用户体验。 5. **RESTful API**:为了实现前后端分离,可能设计和实现基于HTTP协议的...

    韩顺平_课件_笔记_j2ee视频实战教程jsp第6、7、8讲全.doc

    课程中提到了使用HashMap集合来存储购物车中的商品信息,并使用session确保每个用户的购物车独立且持久化。通过获取或创建MyCarBo对象,实现了购物车的添加、显示和管理功能。 综上所述,韩顺平的JSP视频实战教程...

    使用富文本编辑器上传图片实例详解

    <script type="text/javascript" charset="utf-8" src="/js/kindeditor-4.1.10/kindeditor-all-min.js"> <script type="text/javascript" charset="utf-8" src="/js/kindeditor-4.1.10/lang/zh_CN.js"></script> ```...

    简单实现的网络通讯录

    这个项目的核心目标是模仿Tomcat服务器的行为,为用户提供一个可以添加、删除和查询联系人的网络通讯录服务。 在Java Web开发中,Servlet是一个服务器端的Java类,它扩展了HTTP协议的能力,使得开发者可以编写能够...

    精选_基于java的仿淘宝app_源码打包

    "仿淘宝App"项目是利用Java技术栈来模仿淘宝网的功能,为学习者提供了一个实践平台,帮助他们理解和掌握Java Web开发的关键技术。下面我们将深入探讨这个项目的相关知识点。 1. **Java基础** - **Java语法**:项目...

    清华辰安JAVA项目---网络版JQ.doc

    该项目模仿QQ聊天系统,创建了一个名为JQ的网络聊天程序,允许用户进行多人在线交流。 【需求描述】 娱乐聊天是日常生活中常见的一种社交方式,为了满足JAVA爱好者的需求,此项目开发了一个名为JQ的聊天系统。系统...

    工程硕士学位论文 基于Android+HTML5的移动Web项目高效开发探究

    Chrome Frame 会把最新版的Chrome Webkit 内核和JavaScript 引擎注入到IE中, IE浏览器将获得Chrome的性能和功能 目录 摘要 I ABSTRACT II 专业名词清单 III 第一章 绪论 1 1.1 研究背景与意义 1 1.2国内外相关...

    lld-mook-my-show

    3. **高效数据结构与算法**:Java集合框架提供了多种数据结构(如ArrayList、LinkedList、HashMap等),选择合适的数据结构和算法对于提升程序运行速度至关重要。 4. **NIO(非阻塞I/O)**:Java NIO允许在不阻塞...

Global site tag (gtag.js) - Google Analytics