javascript模拟map输出与去除重复项的方法


Posted in Javascript onFebruary 09, 2015

本文实例讲述了javascript模拟map输出与去除重复项的方法。分享给大家供大家参考。具体方法如下:

1.Javascriptmap输出

function Map(){ 
// private  
var obj = {} ;// 空的对象容器,承装键值对 
// put 方法 
this.put = function(key , value){ 
 obj[key] = value ;// 把键值对绑定到obj对象上
} 
// size 方法 获得map容器的个数 
this.size = function(){ 
 var count = 0 ;  
 for(var attr in obj){ 
   count++; 
 } 
 return count ;  
} 
// get 方法 根据key 取得value 
this.get = function(key){ 
  if(obj[key] || obj[key] === 0 || obj[key] === false){ 
 return obj[key]; 
  } else { 
 return null; 
  } 
} 
//remove 删除方法 
this.remove = function(key){ 
  if(obj[key] || obj[key] === 0 || obj[key] === false){ 
 delete obj[key];             
  } 
} 
// eachMap 变量map容器的方法 
this.eachMap = function(fn){ 
 for(var attr in obj){ 
   fn(attr, obj[attr]); 
 } 
} 
} 
//模拟java里的Map 
var m = new Map(); 
m.put('01' , 'abc'); 
m.put('02' , false) ; 
m.put('03' , true); 
m.put('04' , new Date()); 

//alert(m.size()); 

//alert(m.get('02')); 
//m.remove('03'); 
//alert(m.get('03')); 

m.eachMap(function(key , value){ 
     alert(key +" :"+ value); 
});

2.去除map中重复项

var arr = [2,1,2,10,2,3,5,5,1,10,13];//object 
//js对象的特性:在js对象中key是永远不会重复的  
/* 
var obj = new Object(); 
obj.name = 'z3'; 
obj.age = 20 ; 
//alert(obj.name); 
obj.name = 'w5'; 
alert(obj.name); 
*/ 
 
// 1 把数组转成一个js的对象 
// 2 把数组中的值,变成js对象当中的key 
// 3 把这个对象 再还原成数组 
 
// 把数组转成对象 
function toObject(arr){ 
 var obj = {} ; // 私有的对象 
 var j ; 
 for(var i=0 , j= arr.length ; i<j; i++){ 
 obj[arr[i]] = true ; 
 } 
 return obj ; 
} 
 
// 把这个对象转成数组 
function keys(obj){ 
 var arr = [] ; // 私有对象 
 for(var attr in obj){ 
   if(obj.hasOwnProperty(attr)){//YUI底层代码 
 arr.push(attr); 
   } 
 } 
 return arr ; 
} 

//综合的方法 去掉数组中的重复项 
function uniq(newarr){ 
 return keys(toObject(newarr)); 
} 
alert(uniq(arr));

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

Javascript 相关文章推荐
浅谈JavaScript中面向对象技术的模拟
Sep 25 Javascript
javascript设置金额样式转换保留两位小数示例代码
Dec 04 Javascript
jQuery前端框架easyui使用Dialog时bug处理
Dec 05 Javascript
jQuery中:only-child选择器用法实例
Jan 03 Javascript
javascript动画之磁性吸附效果篇
Dec 09 Javascript
js遮罩效果制作弹出注册界面效果
Jan 25 Javascript
微信公众号菜单配置微信小程序实例详解
Mar 31 Javascript
vue父组件向子组件(props)传递数据的方法
Jan 02 Javascript
Node.js一行代码实现静态文件服务器的方法步骤
May 07 Javascript
微信小程序可滑动月日历组件使用详解
Oct 21 Javascript
微信小程序实现注册登录功能(表单校验、错误提示)
Dec 10 Javascript
react国际化化插件react-i18n-auto使用详解
Mar 31 Javascript
JavaScript设置body高度为浏览器高度的方法
Feb 09 #Javascript
jquery动态改变div宽度和高度
Feb 09 #Javascript
angularJS结合canvas画图例子
Feb 09 #Javascript
jquery实现上下左右滑动的方法
Feb 09 #Javascript
js实现上传图片预览的方法
Feb 09 #Javascript
js实现ifram取父窗口URL地址的方法
Feb 09 #Javascript
jquery实现相册一下滑动两次的方法
Feb 09 #Javascript
You might like
PHP中读写文件实现代码
2011/10/20 PHP
PHP怎样用正则抓取页面中的网址
2016/08/09 PHP
PHP双向链表定义与用法示例
2018/01/31 PHP
Jquery实战_读书笔记2 选择器
2010/01/22 Javascript
Script的加载方法小结
2011/01/12 Javascript
jQuery ReferenceError: $ is not defined 错误的处理办法
2013/05/10 Javascript
jQuery在ul中显示某个li索引号的方法
2015/03/17 Javascript
js实现数组转换成json
2015/06/26 Javascript
详解js图片轮播效果实现原理
2015/12/17 Javascript
js针对ip地址、子网掩码、网关的逻辑性判断
2016/01/06 Javascript
Javascript中常见的逻辑题和解决方法
2016/09/17 Javascript
详谈jQuery unbind 删除绑定事件 / 移除标签方法
2017/03/02 Javascript
原生js 封装get ,post, delete 请求的实例
2017/08/11 Javascript
jQuery实现的文字逐行向上间歇滚动效果示例
2017/09/06 jQuery
实例分析js事件循环机制
2017/12/13 Javascript
vue中element 上传功能的实现思路
2018/07/06 Javascript
基于JavaScript实现贪吃蛇游戏
2020/03/16 Javascript
vue各种事件监听实例(小结)
2020/06/24 Javascript
基于JavaScript实现大文件上传后端代码实例
2020/08/18 Javascript
详解React路由传参方法汇总记录
2020/11/29 Javascript
用Python登录Gmail并发送Gmail邮件的教程
2015/04/17 Python
Python对文件和目录进行操作的方法(file对象/os/os.path/shutil 模块)
2017/05/08 Python
Python 稀疏矩阵-sparse 存储和转换
2017/05/27 Python
Python 编码规范(Google Python Style Guide)
2018/05/05 Python
Python 处理文件的几种方式
2019/08/23 Python
python读取ini配置文件过程示范
2019/12/23 Python
Pandas时间序列基础详解(转换,索引,切片)
2020/02/26 Python
django 外键创建注意事项说明
2020/05/20 Python
Scrapy中如何向Spider传入参数的方法实现
2020/09/28 Python
优秀党员转正的自我评价
2013/10/06 职场文书
售后服务经理岗位职责
2014/02/25 职场文书
大学生两会学习心得体会
2014/03/10 职场文书
2014国庆节餐厅促销活动策划方案
2014/09/16 职场文书
个人工作作风整改措施思想汇报
2014/10/13 职场文书
财务总监岗位职责
2015/02/03 职场文书
Python预测分词的实现
2021/06/18 Python