最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

javascript模擬map輸出與去除重復項的方法

 更新時間:2015年02月09日 16:33:18   作者:另一花生  
這篇文章主要介紹了javascript模擬map輸出與去除重復項的方法,通過自定義函數(shù)結合遍歷與刪除的方法實現(xiàn)了去除重復項的功能,非常具有實用價值,需要的朋友可以參考下

本文實例講述了javascript模擬map輸出與去除重復項的方法。分享給大家供大家參考。具體方法如下:

1.Javascriptmap輸出

function Map(){ 
// private  
var obj = {} ;// 空的對象容器,承裝鍵值對 
// put 方法 
this.put = function(key , value){ 
 obj[key] = value ;// 把鍵值對綁定到obj對象上
} 
// size 方法 獲得map容器的個數(shù) 
this.size = function(){ 
 var count = 0 ;  
 for(var attr in obj){ 
   count++; 
 } 
 return count ;  
} 
// get 方法 根據(jù)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 把數(shù)組轉成一個js的對象 
// 2 把數(shù)組中的值,變成js對象當中的key 
// 3 把這個對象 再還原成數(shù)組 
 
// 把數(shù)組轉成對象 
function toObject(arr){ 
 var obj = {} ; // 私有的對象 
 var j ; 
 for(var i=0 , j= arr.length ; i<j; i++){ 
 obj[arr[i]] = true ; 
 } 
 return obj ; 
} 
 
// 把這個對象轉成數(shù)組 
function keys(obj){ 
 var arr = [] ; // 私有對象 
 for(var attr in obj){ 
   if(obj.hasOwnProperty(attr)){//YUI底層代碼 
 arr.push(attr); 
   } 
 } 
 return arr ; 
} 

//綜合的方法 去掉數(shù)組中的重復項 
function uniq(newarr){ 
 return keys(toObject(newarr)); 
} 
alert(uniq(arr));

希望本文所述對大家的javascript程序設計有所幫助。

相關文章

最新評論

新宁县| 平遥县| 五家渠市| 钦州市| 凉山| 重庆市| 芷江| 和平县| 澜沧| 三门县| 富宁县| 新昌县| 康乐县| 方正县| 潜江市| 雷山县| 赤水市| 临潭县| 错那县| 威远县| 关岭| 巴青县| 青铜峡市| 绥化市| 大荔县| 宜川县| 大安市| 靖宇县| 伊通| 娄底市| 三亚市| 枣强县| 醴陵市| 南昌市| 清河县| 乌苏市| 五大连池市| 高阳县| 伊吾县| 军事| 乌恰县|