javascript模擬map輸出與去除重復(fù)項(xiàng)的方法
本文實(shí)例講述了javascript模擬map輸出與去除重復(fù)項(xiàng)的方法。分享給大家供大家參考。具體方法如下:
1.Javascriptmap輸出
function Map(){ // private var obj = {} ;// 空的對象容器,承裝鍵值對 // put 方法 this.put = function(key , value){ obj[key] = value ;// 把鍵值對綁定到obj對象上 } // size 方法 獲得map容器的個(gè)數(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中重復(fù)項(xiàng)
var arr = [2,1,2,10,2,3,5,5,1,10,13];//object //js對象的特性:在js對象中key是永遠(yuǎn)不會重復(fù)的 /* var obj = new Object(); obj.name = 'z3'; obj.age = 20 ; //alert(obj.name); obj.name = 'w5'; alert(obj.name); */ // 1 把數(shù)組轉(zhuǎn)成一個(gè)js的對象 // 2 把數(shù)組中的值,變成js對象當(dāng)中的key // 3 把這個(gè)對象 再還原成數(shù)組 // 把數(shù)組轉(zhuǎn)成對象 function toObject(arr){ var obj = {} ; // 私有的對象 var j ; for(var i=0 , j= arr.length ; i<j; i++){ obj[arr[i]] = true ; } return obj ; } // 把這個(gè)對象轉(zhuǎn)成數(shù)組 function keys(obj){ var arr = [] ; // 私有對象 for(var attr in obj){ if(obj.hasOwnProperty(attr)){//YUI底層代碼 arr.push(attr); } } return arr ; } //綜合的方法 去掉數(shù)組中的重復(fù)項(xiàng) function uniq(newarr){ return keys(toObject(newarr)); } alert(uniq(arr));
希望本文所述對大家的javascript程序設(shè)計(jì)有所幫助。
- JS簡單去除數(shù)組中重復(fù)項(xiàng)的方法
- 如何高效率去掉js數(shù)組中的重復(fù)項(xiàng)
- JS實(shí)現(xiàn)合并兩個(gè)數(shù)組并去除重復(fù)項(xiàng)只留一個(gè)的方法
- JavaScript合并兩個(gè)數(shù)組并去除重復(fù)項(xiàng)的方法
- javascript數(shù)字?jǐn)?shù)組去重復(fù)項(xiàng)的實(shí)現(xiàn)代碼
- js 巧妙去除數(shù)組中的重復(fù)項(xiàng)
- javascript 刪除數(shù)組中重復(fù)項(xiàng)(uniq)
- js刪除select中重復(fù)項(xiàng)的實(shí)現(xiàn)代碼
- JavaScript基于對象去除數(shù)組重復(fù)項(xiàng)的方法
相關(guān)文章
微信小程序?qū)㈨撁姘粹o懸浮固定在底部的實(shí)現(xiàn)代碼
這篇文章主要介紹了微信小程序?qū)㈨撁姘粹o懸浮固定在底部的實(shí)現(xiàn)代碼,代碼簡單易懂,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-10-10web3.js調(diào)用鏈上的方法操作NFT區(qū)塊鏈MetaMask詳解
這篇文章主要為大家介紹了web3.js調(diào)用鏈上的方法操作NFT區(qū)塊鏈MetaMask詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08Bootstrap 樹控件使用經(jīng)驗(yàn)分享(圖文解說)
很多項(xiàng)目中使用樹來展示層級關(guān)系,還有些樹是為了選中項(xiàng)然后其他地方調(diào)用選中項(xiàng)。今天腳本之家小編給大家?guī)砹薆ootstrap 樹控件使用經(jīng)驗(yàn)分享,需要的朋友參考下吧2017-11-11理解javascript中的Function.prototype.bind的方法
這篇文章主要介紹了理解javascript中的Function.prototype.bind的方法,具有一定參考價(jià)值,有興趣的可以了解一下。2017-02-02原生js實(shí)現(xiàn)移動端Touch輪播圖的方法步驟
這篇文章主要介紹了原生js實(shí)現(xiàn)移動端Touch輪播圖的方法步驟,touch輪播圖其實(shí)就是通過手指的滑動,來左右切換輪播圖,touch輪播圖其實(shí)就是通過手指的滑動,來左右切換輪播圖,2019-01-01完美實(shí)現(xiàn)仿QQ空間評論回復(fù)特效
這篇文章主要介紹了完美實(shí)現(xiàn)仿QQ空間評論回復(fù)特效,非常的實(shí)用,附上實(shí)例代碼給大家,有需要的小伙伴參考下吧。2015-05-05