详解JavaScript数组和字符串中去除重复值的方法


Posted in Javascript onMarch 07, 2016

原理在代码中表现得非常清晰,我们直接来看代码例子:

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)

//去除数组中重复值 
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()); 
// "北京", "上海", "天津", "武汉"
Javascript 相关文章推荐
JS小功能(button选择颜色)简单实例
Nov 29 Javascript
jquery插件tooltipv顶部淡入淡出效果使用示例
Dec 05 Javascript
node.js中的fs.realpath方法使用说明
Dec 16 Javascript
超赞的动手创建JavaScript框架的详细教程
Jun 30 Javascript
JS高级运动实例分析
Dec 20 Javascript
canvas知识总结
Jan 25 Javascript
Bootstrap的popover(弹出框)2秒后定时消失的实现代码
Feb 27 Javascript
详解Angular2组件之间如何通信
Jun 22 Javascript
微信小程序删除处理详解
Aug 16 Javascript
微信小程序出现wx.getLocation再次授权问题的解决方法分析
Jan 16 Javascript
基于JS抓取某高校附近共享单车位置 使用web方式展示位置变化代码实例
Aug 27 Javascript
vue开发chrome插件,实现获取界面数据和保存到数据库功能
Dec 01 Vue.js
JavaScript实现字符串与日期的互相转换及日期的格式化
Mar 07 #Javascript
JavaScript中将数组进行合并的基本方法讲解
Mar 07 #Javascript
Bootstrap每天必学之日期控制
Mar 07 #Javascript
JavaScript过滤字符串中的中文与空格方法汇总
Mar 07 #Javascript
jquery+json实现分页效果
Mar 07 #Javascript
利用JQuery写一个简单的异步分页插件
Mar 07 #Javascript
基于jquery编写分页插件
Mar 07 #Javascript
You might like
yii2 数据库读写分离配置示例
2017/02/10 PHP
jQuery中parentsUntil()方法用法实例
2015/01/07 Javascript
Node.js和MongoDB实现简单日志分析系统
2015/04/25 Javascript
基于JavaScript制作霓虹灯文字 代码 特效
2015/09/01 Javascript
JavaScript中获取Radio被选中的值
2015/11/11 Javascript
JQuery实现Ajax加载图片的方法
2015/12/24 Javascript
通过jquery-ui中的sortable来实现拖拽排序的简单实例
2016/05/24 Javascript
利用CSS、JavaScript及Ajax实现图片预加载的方法
2016/11/29 Javascript
微信小程序-获得用户输入内容
2017/02/13 Javascript
vue实现动态数据绑定
2017/04/28 Javascript
详解EasyUi控件中的Datagrid
2017/08/23 Javascript
微信小程序网络请求实现过程解析
2019/11/06 Javascript
JS判断浏览器类型与操作系统的方法分析
2020/04/30 Javascript
微信小程序学习总结(三)条件、模板、文件引用实例分析
2020/06/04 Javascript
Python中有趣在__call__函数
2015/06/21 Python
python扫描proxy并获取可用代理ip的实例
2017/08/07 Python
Python3爬虫学习之将爬取的信息保存到本地的方法详解
2018/12/12 Python
pandas把所有大于0的数设置为1的方法
2019/01/26 Python
python 中pyqt5 树节点点击实现多窗口切换问题
2019/07/04 Python
python3+django2开发一个简单的人员管理系统过程详解
2019/07/23 Python
tensorflow mnist 数据加载实现并画图效果
2020/02/05 Python
Python如何实现线程间通信
2020/07/30 Python
JupyterNotebook 输出窗口的显示效果调整实现
2020/09/22 Python
matplotlib对象拾取事件处理的实现
2021/01/14 Python
纯CSS实现颜色渐变效果(包含环形渐变、线性渐变、彩虹效果等)
2014/05/07 HTML / CSS
迪斯尼商品官方网站:ShopDisney
2016/08/01 全球购物
StubHub墨西哥:购买和出售您的门票
2016/09/17 全球购物
俄罗斯卫浴采暖及维修用品超级市场:Dkrussia
2020/05/12 全球购物
益模软件Java笔试题
2012/03/27 面试题
阿里巴巴Oracle DBA笔试题答案-备份恢复类
2013/11/20 面试题
教师党员批评与自我批评
2014/10/15 职场文书
2014年班主任德育工作总结
2014/12/05 职场文书
工厂员工辞职信范文
2015/05/12 职场文书
发票退票证明
2015/06/24 职场文书
2019新员工心得体会
2019/06/25 职场文书
宫崎骏十大动画电影,宫崎骏好看的动画电影排名
2022/03/22 日漫