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 相关文章推荐
JS 自动完成 AutoComplete(Ajax 查询)
Jul 07 Javascript
JS读取XML文件示例代码
Nov 15 Javascript
利用jQuery实现可以编辑的表格
May 26 Javascript
jQuery团购倒计时特效实现方法
May 07 Javascript
JavaScript运动减速效果实例分析
Aug 04 Javascript
关于动态执行代码(js的Eval)实例详解
Aug 15 Javascript
jQuery实现的瀑布流加载效果示例
Sep 13 Javascript
JavaScript实现Java中Map容器的方法
Oct 09 Javascript
jQuery内容筛选选择器实例代码
Feb 06 Javascript
jQuery插件zTree实现获取一级节点数据的方法
Mar 08 Javascript
vue移动端UI框架实现QQ侧边菜单组件
Mar 09 Javascript
详解如何在vue项目中使用eslint+prettier格式化代码
Nov 10 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字符串处理的10个简单方法
2010/06/30 PHP
PHP中将数组转成XML格式的实现代码
2011/08/08 PHP
Windows上php5.6操作mongodb数据库示例【配置、连接、获取实例】
2019/02/13 PHP
PHP生成随机字符串实例代码(字母+数字)
2019/09/11 PHP
php + ajax 实现的写入数据库操作简单示例
2020/05/16 PHP
Juqery Html(),append()等方法的Bug解决方法
2010/12/13 Javascript
从阶乘函数对比Javascript和C#的异同
2012/05/31 Javascript
sencha touch 模仿tabpanel导航栏TabBar的实例代码
2013/10/24 Javascript
对之前写的jquery分页做下升级
2014/06/19 Javascript
node.js中的path.normalize方法使用说明
2014/12/08 Javascript
jQuery fancybox在ie浏览器下无法显示关闭按钮的解决办法
2016/02/19 Javascript
node学习记录之搭建web服务器教程
2017/02/16 Javascript
jQuery插件echarts去掉垂直网格线用法示例
2017/03/03 Javascript
JavaScript中this的用法及this在不同应用场景的作用解析
2017/04/13 Javascript
Vue 2.0的数据依赖实现原理代码简析
2017/07/10 Javascript
Node 自动化部署的方法
2017/10/17 Javascript
使用JS判断移动端手机横竖屏状态
2018/07/30 Javascript
jQuery 获取除某指定对象外的其他对象 ( :not() 与.not())
2018/10/10 jQuery
vue实现父子组件之间的通信以及兄弟组件的通信功能示例
2019/01/29 Javascript
深入解读Node.js中的koa源码
2019/06/17 Javascript
微信小程序导入Vant报错VM292:1 thirdScriptError的解决方法
2019/08/01 Javascript
详解为element-ui的Select和Cascader添加弹层底部操作按钮
2020/02/07 Javascript
jQuery+Ajax+js实现请求json格式数据并渲染到html页面操作示例
2020/06/02 jQuery
详解使用python crontab设置linux定时任务
2016/12/08 Python
pyttsx3实现中文文字转语音的方法
2018/12/24 Python
PyQt5实现简单数据标注工具
2019/03/18 Python
django 中的聚合函数,分组函数,F 查询,Q查询
2019/07/25 Python
python列表插入append(), extend(), insert()用法详解
2019/09/14 Python
python zip()函数的使用示例
2020/09/23 Python
Python性能测试工具Locust安装及使用
2020/12/01 Python
Pam & Gela官网:美国性感前卫女装品牌
2018/07/19 全球购物
如何写毕业求职自荐信
2013/11/06 职场文书
我未来的职业规划范文
2014/01/11 职场文书
遗体告别仪式答谢词
2014/01/23 职场文书
小学生作文评语集锦
2014/12/25 职场文书
企业法人代表证明书
2015/06/18 职场文书