详解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 相关文章推荐
神奇的代码 通杀各种网站-可随意修改复制页面内容
Jul 17 Javascript
JS获得选取checkbox整行数据的方法
Jan 28 Javascript
浅谈Jquery核心函数
Jun 18 Javascript
js实现3D图片逐张轮播幻灯片特效代码分享
Sep 09 Javascript
js 自带的sort() 方法全面了解
Aug 16 Javascript
超详细的JS弹出窗口代码大全
Apr 18 Javascript
ES6新特性之Object的变化分析
Mar 31 Javascript
Vue中父组件向子组件通信的方法
Jul 11 Javascript
基于JavaScript实现表格滚动分页
Nov 22 Javascript
详解Vue CLI3 多页应用实践和源码设计
Aug 30 Javascript
JS通过ajax + 多列布局 + 自动加载实现瀑布流效果
May 30 Javascript
快速了解Vue父子组件传值以及父调子方法、子调父方法
Jul 15 Javascript
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
php生成rss类用法实例
2015/04/14 PHP
PHP htmlentities()函数用法讲解
2019/02/25 PHP
FileUpload上传图片(图片不变形)
2010/08/05 Javascript
javascript实现的使用方向键控制光标在table单元格中切换
2010/11/17 Javascript
合并table相同单元格的jquery插件分享(很精简)
2011/06/20 Javascript
jQuery 获取和设置select下拉框的值实现代码
2013/11/08 Javascript
jQuery超精致图片轮播幻灯片特效代码分享
2015/09/10 Javascript
简述Matlab中size()函数的用法
2016/03/20 Javascript
javascript js 操作数组 增删改查的简单实现
2016/06/20 Javascript
request请求获取参数的实现方法(post和get两种方式)
2016/09/27 Javascript
javascript轮播图算法
2016/10/21 Javascript
JavaScript实现数组降维详解
2017/01/05 Javascript
Java与JavaScript中判断两字符串是否相等的区别
2017/03/13 Javascript
微信小程序实现顶部选项卡(swiper)
2020/06/19 Javascript
js导出Excel表格超出26位英文字符的解决方法ES6
2017/11/15 Javascript
关于laydate.js加载laydate.css路径错误问题解决
2017/12/27 Javascript
json前后端数据交互相关代码
2018/09/19 Javascript
2019 年编写现代 JavaScript 代码的5个小技巧(小结)
2019/01/15 Javascript
微信小程序实现九宫格抽奖
2020/04/15 Javascript
layui之数据表格--与后台交互获取数据的方法
2019/09/29 Javascript
微信小程序修改checkbox的样式代码实例
2020/01/21 Javascript
React组件设计模式之组合组件应用实例分析
2020/04/29 Javascript
记录Django开发心得
2014/07/16 Python
Python 处理数据的实例详解
2017/08/10 Python
Python实现的文轩网爬虫完整示例
2019/05/16 Python
解决.ui文件生成的.py文件运行不出现界面的方法
2019/06/19 Python
python的pytest框架之命令行参数详解(下)
2019/06/27 Python
倩碧英国官网:Clinique英国
2018/08/10 全球购物
weblogic面试题
2016/03/07 面试题
汽车维修专业毕业生的求职信分享
2013/12/04 职场文书
如何写好优秀的创业计划书
2014/01/30 职场文书
新年团拜会主持词
2014/04/02 职场文书
我的中国梦演讲稿小学篇
2014/08/19 职场文书
健康状况证明模板
2014/10/23 职场文书
Golang 字符串的常见操作
2022/04/19 Golang
Pygame游戏开发之太空射击实战敌人精灵篇
2022/08/05 Python