博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Js数组去重复取唯一值

Posted on 2015-02-05 11:57  米粒3  阅读(1686)  评论(0编辑  收藏  举报

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)

//去除数组中重复值

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()); // "北京", "上海", "天津", "武汉"