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 相关文章推荐
JavaScript入门教程(7) History历史对象
Jan 31 Javascript
jQuery 第二课 操作包装集元素代码
Mar 14 Javascript
javascript多种数据类型表格排序代码分析
Sep 11 Javascript
jQuery ajax serialize()方法的使用以及常见问题解决
Jan 27 Javascript
九种原生js动画效果
Nov 11 Javascript
js实现商城星星评分的效果
Dec 29 Javascript
Javascript之BOM(window对象)详解
May 25 Javascript
关于Sequelize连接查询时inlude中model和association的区别详解
Feb 27 Javascript
javascript 的变量、作用域和内存问题
Apr 19 Javascript
关于使用axios的一些心得技巧分享
Jul 02 Javascript
JavaScript实现左右滚动电影画布
Feb 06 Javascript
JavaScript禁止右击保存图片,禁止拖拽图片的实现代码
Apr 28 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 抽象类的简单应用
2011/09/06 PHP
利用PHP生成静态HTML文档的原理
2012/10/29 PHP
php使用curl抓取qq空间的访客信息示例
2014/02/28 PHP
PHP连接MSSQL2008/2005数据库(SQLSRV)配置实例
2014/10/22 PHP
php的4种常见运行方式
2015/03/20 PHP
PHP处理Ajax请求与Ajax跨域问题
2017/02/13 PHP
完美解决thinkphp唯一索引重复时出错的问题
2017/03/31 PHP
php实现解析xml并生成sql语句的方法
2018/02/03 PHP
为指定元素增加样式的js代码
2009/12/09 Javascript
JQuery 应用 JQuery.groupTable.js
2010/12/15 Javascript
jQuery对象数据缓存Cache原理及jQuery.data方法区别介绍
2013/04/07 Javascript
jquery选择器大全 全面详解jquery选择器
2014/03/06 Javascript
yepnope.js使用详解及示例分享
2014/06/23 Javascript
javascript 构造函数方式定义对象
2015/01/02 Javascript
jQuery实现在最后一个元素之前插入新元素的方法
2015/07/18 Javascript
js点击返回跳转到指定页面实现过程
2020/08/20 Javascript
点击页面任何位置隐藏div的实现方法
2016/09/05 Javascript
easyUI实现(alert)提示框自动关闭的实例代码
2016/11/07 Javascript
AngularJs 常用的过滤器
2017/05/15 Javascript
详解如何在Angular中快速定位DOM元素
2017/05/17 Javascript
微信小程序收藏功能的实现代码
2018/06/12 Javascript
webpack file-loader和url-loader的区别
2019/01/15 Javascript
Vue之封装公用变量以及实现方式
2020/07/31 Javascript
vue实现简单全选和反选功能
2020/09/15 Javascript
[01:01:36]Optic vs paiN 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
简单讲解Python中的字符串与字符串的输入输出
2016/03/13 Python
常见python正则用法的简单实例
2016/06/21 Python
python中的print()输出
2019/04/12 Python
Django 配置多站点多域名的实现步骤
2019/05/17 Python
python 批量添加的button 使用同一点击事件的方法
2019/07/17 Python
如何基于Python制作有道翻译小工具
2019/12/16 Python
css3 给页面加个半圆形导航条主要利用旋转和倾斜样式
2014/02/10 HTML / CSS
CSS3 box-sizing属性详解
2016/11/15 HTML / CSS
WoolOvers澳洲官方网站:英国针织服装公司
2018/05/13 全球购物
领导个人查摆剖析材料
2014/10/29 职场文书
企业法人任命书
2015/09/21 职场文书