詳解JavaScript數(shù)組和字符串中去除重復(fù)值的方法
原理在代碼中表現(xiàn)得非常清晰,我們直接來看代碼例子:
var ages = array.map(function(obj) { return obj.age; }); ages = ages.filter(function(v,i) { return ages.indexOf(v) == i; }); console.log(ages); //=> [17, 35]
function isBigEnough(element) { return element >= 10; } var filtered = [12, 5, 8, 130, 44].filter(isBigEnough); // filtered is [12, 130, 44]
function onlyUnique(value, index, self) { return self.indexOf(value) === index; } // usage example: var a = ['a', 1, 'a', 2, '1']; var unique = a.filter( onlyUnique ); // returns ['a', 1, 2, '1']
比較好使的Function(不兼容IE7)
function unique(array){ return array.filter(function(el, index, arr) { return index == arr.indexOf(el); }); }
比較好使的Function(兼容IE7)
//去除數(shù)組中重復(fù)值 function getNoRepeat(s) { return s.sort().join(",,").replace(/(,|^)([^,]+)(,,\2)+(,|$)/g,"$1$2$4").replace(/,,+/g,",").replace(/,$/,"").split(","); } var arr = ["北京", "上海", "天津", "武漢", "上海", "天津", "武漢", "北京", "上海", "天津", "武漢", "天津", "武漢", "天津", "武漢", "天津", "武漢", "北京", "上海", "天津", "武漢", "上海", "天津", "武漢", "北京", "上海", "天津", "武漢", "天津", "武漢", "天津", "武漢", "天津", "武漢", "北京", "上海", "天津", "武漢", "上海", "天津", "武漢", "北京", "上海", "天津", "武漢", "天津", "武漢", "天津", "武漢", "天津", "武漢"]; arr = getNoRepeat(arr); alert(arr.length);// 4 alert(arr.toString()); // "北京", "上海", "天津", "武漢"
利用map原理
var arr = ["北京", "上海", "天津", "武漢", "上海", "天津", "武漢", "北京", "上海", "天津", "武漢", "天津", "武漢", "天津", "武漢", "天津", "武漢", "北京", "上海", "天津", "武漢", "上海", "天津", "武漢", "北京", "上海", "天津", "武漢", "天津", "武漢", "天津", "武漢", "天津", "武漢", "北京", "上海", "天津", "武漢", "上海", "天津", "武漢", "北京", "上海", "天津", "武漢", "天津", "武漢", "天津", "武漢", "天津", "武漢"]; var json = {}; for(var i = 0; i < arr.length; i++){ json[arr[i]] = arr[i]; } arr = new Array(); for(var key in json){ arr.push(key); } alert(arr.toString()); // "北京", "上海", "天津", "武漢"
- JS使用正則表達(dá)式除去字符串中重復(fù)字符的方法
- JS刪除字符串中重復(fù)字符方法
- JS字符串去除連續(xù)或全部重復(fù)字符的實(shí)例
- JS清除字符串中重復(fù)值的實(shí)現(xiàn)方法
- JavaScript字符串刪除重復(fù)字符的方法
- JS 清除字符串?dāng)?shù)組中,重復(fù)元素的實(shí)現(xiàn)方法
- JavaScript實(shí)現(xiàn)查找字符串中第一個(gè)不重復(fù)的字符
- JS實(shí)現(xiàn)為排序好的字符串找出重復(fù)行的方法
- 如何利用JavaScript獲取字符串中重復(fù)次數(shù)最多的字符
相關(guān)文章
JavaScript設(shè)計(jì)模式之中介者模式詳解
當(dāng)對(duì)象之間進(jìn)行多對(duì)多引用時(shí),進(jìn)行開發(fā),維護(hù),閱讀時(shí)將變得特別痛苦。在這些對(duì)象之間添加中間者,使它們都只與中介者,當(dāng)中介者處理完一個(gè)對(duì)象的請(qǐng)求后,將結(jié)果通知于其他對(duì)象2022-08-08微信小程序中target和currentTarget的區(qū)別小結(jié)
這篇文章主要給大家介紹了關(guān)于微信小程序中target和currentTarget區(qū)別的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11響應(yīng)式表格之固定表頭的簡單實(shí)現(xiàn)
下面小編就為大家?guī)硪黄憫?yīng)式表格之固定表頭的簡單實(shí)現(xiàn)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-08-08移動(dòng)端touch拖動(dòng)和click事件沖突問題解決
這篇文章主要為大家介紹了移動(dòng)端touch拖動(dòng)和click事件沖突問題解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09js+SVG實(shí)現(xiàn)動(dòng)態(tài)時(shí)鐘效果
這篇文章主要為大家詳細(xì)介紹了js+SVG實(shí)現(xiàn)動(dòng)態(tài)時(shí)鐘效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-07-07Javascript+XMLHttpRequest+asp.net無刷新讀取數(shù)據(jù)庫數(shù)據(jù)
Javascript+XMLHttpRequest+asp.net無刷新讀取數(shù)據(jù)庫數(shù)據(jù)2009-08-08js 獲取本周、上周、本月、上月、本季度、上季度的開始結(jié)束日期
這篇文章主要介紹了js 獲取 本周、上周、本月、上月、本季度、上季度的開始結(jié)束日期,需要的朋友可以參考下2020-02-02