JS数组去掉重复数据只保留一条的实现代码


Posted in Javascript onAugust 11, 2016

非常不多说,js数组去掉重复数据的代码如下所示:

var arr = [1,2,3,4,5,6,1,6,7,2];
var newArr = [];
for(var i =0;i<arr.length-1;i++){
 if(newArr.indexOf(arr[i]) == -1){


newArr.push(arr[i]);

}
}

JS数组去掉重复数据只保留一条的实现代码

下面再给大家分享高效率去掉js数组中重复项

Array类型并没有提供去重复的方法,如果要把数组的重复元素干掉,那得自己想办法:

function unique(arr) {
var result = [], isRepeated;
for (var i = 0, len = arr.length; i < len; i++) {
isRepeated = false;
for (var j = 0, len = result.length; j < len; j++) {
if (arr[i] == result[j]) { 
isRepeated = true;
break;
}
}
if (!isRepeated) {
result.push(arr[i]);
}
}
return result;
}

总体思路是把数组元素逐个搬运到另一个数组,搬运的过程中检查这个元素是否有重复,如果有就直接丢掉。从嵌套循环就可以看出,这种方法效率极低。我们可以 用一个hashtable的结构记录已有的元素,这样就可以避免内层循环。恰好,在Javascript中实现hashtable是极为简单的,改进如 下:

function unique(arr) {
var result = [], hash = {};
for (var i = 0, elem; (elem = arr[i]) != null; i++) {
if (!hash[elem]) {
result.push(elem);
hash[elem] = true;
}
}
return result;
//http://www.cnblogs.com/sosoft/
}

以上所述是小编给大家介绍的JS数组去掉重复数据只保留一条的实现代码 ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
div移动 输入框不能输入的问题
Nov 19 Javascript
jQuery 性能优化手册 推荐
Feb 23 Javascript
JS编程小常识很有用
Nov 26 Javascript
JS控制图片翻转示例代码(兼容firefox,ie,chrome)
Dec 19 Javascript
调用HttpHanlder的几种返回方式小结
Dec 20 Javascript
VUEJS实战之构建基础并渲染出列表(1)
Jun 13 Javascript
javascript深拷贝(deepClone)详解
Aug 24 Javascript
全面解析node 表单的图片上传
Nov 21 Javascript
AngularJs 延时器、计时器实例代码
Sep 16 Javascript
微信小程序 自定义弹窗实现过程(附代码)
Dec 05 Javascript
jQuery实现移动端笔触canvas电子签名
May 21 jQuery
vue props default Array或是Object的正确写法说明
Jul 30 Javascript
分享JS数组求和与求最大值的方法
Aug 11 #Javascript
利用JavaScript阻止表单提交的两种方法
Aug 11 #Javascript
防止Node.js中错误导致进程阻塞的办法
Aug 11 #Javascript
JavaScript中 ES6 generator数据类型详解
Aug 11 #Javascript
基于MVC5和Bootstrap的jQuery TreeView树形控件(二)之数据支持json字符串、list集合
Aug 11 #Javascript
基于MVC5和Bootstrap的jQuery TreeView树形控件(一)之数据支持json字符串、list集合
Aug 11 #Javascript
jQuery的图片轮播插件PgwSlideshow使用详解
Aug 11 #Javascript
You might like
php字符串截取中文截取2,单字节截取模式
2007/12/10 PHP
php adodb分页实现代码
2009/03/19 PHP
PHP设置Cookie的HTTPONLY属性方法
2017/02/09 PHP
对laravel的session获取与存取方法详解
2019/10/08 PHP
jQuery学习笔记之jQuery选择器的使用
2010/12/22 Javascript
jQuery中实现动画效果的基本操作介绍
2013/04/16 Javascript
JavaScript创建一个object对象并操作对象属性的用法
2015/03/23 Javascript
Node.js实现Excel转JSON
2015/04/24 Javascript
jQuery实现tab选项卡效果的方法
2015/07/08 Javascript
学习javascript的闭包,原型,和匿名函数之旅
2015/10/18 Javascript
JS组件Bootstrap Table使用方法详解
2016/02/02 Javascript
js简单倒计时实现代码
2016/04/30 Javascript
vue中appear的用法
2017/08/17 Javascript
React Native实现地址挑选器功能
2017/10/24 Javascript
微信小程序异步处理详解
2017/11/10 Javascript
基于jQuery实现定位导航位置效果
2017/11/15 jQuery
Vue中props的使用详解
2018/06/15 Javascript
VUE 自定义组件模板的方法详解
2019/08/30 Javascript
JS扁平化输出数组的2种方法解析
2019/09/17 Javascript
[01:33]DOTA2上海特级锦标赛 LIQUID战队完整宣传片
2016/03/16 DOTA
Python学习笔记之os模块使用总结
2014/11/03 Python
python实现从字典中删除元素的方法
2015/05/04 Python
Python计算三角函数之asin()方法的使用
2015/05/15 Python
Python的SQLalchemy模块连接与操作MySQL的基础示例
2016/07/11 Python
python实现朴素贝叶斯分类器
2018/03/28 Python
python找出完数的方法
2018/11/12 Python
Python实现滑动平均(Moving Average)的例子
2019/08/24 Python
Python‘==‘ 及 ‘is‘相关原理解析
2020/09/05 Python
html5播放视频且动态截图实现步骤与代码(支持safari其他未测试)
2013/01/06 HTML / CSS
澳大利亚旅游网站:Lastminute
2017/08/07 全球购物
爱情检讨书大全
2014/01/21 职场文书
教师自查自纠材料
2014/10/14 职场文书
2015大学党建带团建工作总结
2015/07/23 职场文书
毕业生入职感言
2015/07/31 职场文书
2016年秋季运动会广播稿
2015/12/21 职场文书
Go Grpc Gateway兼容HTTP协议文档自动生成网关
2022/06/16 Golang