javascript模擬map輸出與去除重復(fù)項(xiàng)的方法
本文實(shí)例講述了javascript模擬map輸出與去除重復(fù)項(xiàng)的方法。分享給大家供大家參考。具體方法如下:
1.Javascriptmap輸出
function Map(){ // private var obj = {} ;// 空的對(duì)象容器,承裝鍵值對(duì) // put 方法 this.put = function(key , value){ obj[key] = value ;// 把鍵值對(duì)綁定到obj對(duì)象上 } // 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對(duì)象的特性:在js對(duì)象中key是永遠(yuǎn)不會(huì)重復(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的對(duì)象 // 2 把數(shù)組中的值,變成js對(duì)象當(dāng)中的key // 3 把這個(gè)對(duì)象 再還原成數(shù)組 // 把數(shù)組轉(zhuǎn)成對(duì)象 function toObject(arr){ var obj = {} ; // 私有的對(duì)象 var j ; for(var i=0 , j= arr.length ; i<j; i++){ obj[arr[i]] = true ; } return obj ; } // 把這個(gè)對(duì)象轉(zhuǎn)成數(shù)組 function keys(obj){ var arr = [] ; // 私有對(duì)象 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));
希望本文所述對(duì)大家的javascript程序設(shè)計(jì)有所幫助。
- JS簡(jiǎn)單去除數(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基于對(duì)象去除數(shù)組重復(fù)項(xiàng)的方法
相關(guān)文章
微信小程序?qū)㈨?yè)面按鈕懸浮固定在底部的實(shí)現(xiàn)代碼
這篇文章主要介紹了微信小程序?qū)㈨?yè)面按鈕懸浮固定在底部的實(shí)現(xiàn)代碼,代碼簡(jiǎn)單易懂,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-10-10web3.js調(diào)用鏈上的方法操作NFT區(qū)塊鏈MetaMask詳解
這篇文章主要為大家介紹了web3.js調(diào)用鏈上的方法操作NFT區(qū)塊鏈MetaMask詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08Bootstrap 樹(shù)控件使用經(jīng)驗(yàn)分享(圖文解說(shuō))
很多項(xiàng)目中使用樹(shù)來(lái)展示層級(jí)關(guān)系,還有些樹(shù)是為了選中項(xiàng)然后其他地方調(diào)用選中項(xiàng)。今天腳本之家小編給大家?guī)?lái)了Bootstrap 樹(shù)控件使用經(jīng)驗(yàn)分享,需要的朋友參考下吧2017-11-11IE innerHTML,outerHTML所引起的問(wèn)題
我們?cè)谟胘avascript創(chuàng)建一個(gè)遮蓋層(div)后,如果點(diǎn)擊關(guān)閉用到了2009-06-06理解javascript中的Function.prototype.bind的方法
這篇文章主要介紹了理解javascript中的Function.prototype.bind的方法,具有一定參考價(jià)值,有興趣的可以了解一下。2017-02-02詳解JavaScript的變量和數(shù)據(jù)類(lèi)型
這篇文章主要介紹了詳解JavaScript的變量和數(shù)據(jù)類(lèi)型,需要的朋友可以參考下2015-11-11原生js實(shí)現(xiàn)移動(dòng)端Touch輪播圖的方法步驟
這篇文章主要介紹了原生js實(shí)現(xiàn)移動(dòng)端Touch輪播圖的方法步驟,touch輪播圖其實(shí)就是通過(guò)手指的滑動(dòng),來(lái)左右切換輪播圖,touch輪播圖其實(shí)就是通過(guò)手指的滑動(dòng),來(lái)左右切換輪播圖,2019-01-01完美實(shí)現(xiàn)仿QQ空間評(píng)論回復(fù)特效
這篇文章主要介紹了完美實(shí)現(xiàn)仿QQ空間評(píng)論回復(fù)特效,非常的實(shí)用,附上實(shí)例代碼給大家,有需要的小伙伴參考下吧。2015-05-05