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 相关文章推荐
js每次Title显示不同的名言
Sep 25 Javascript
一些javascript一些题目的解析
Dec 25 Javascript
深入理解Javascript中的循环优化
Nov 09 Javascript
JavaScript字符串常用类使用方法汇总
Apr 14 Javascript
jQuery简单获取键盘事件的方法
Jan 22 Javascript
vue.js单页面应用实例的简单实现
Apr 10 Javascript
php 修改密码实现代码
May 24 Javascript
使用原生js写ajax实例(推荐)
May 31 Javascript
mpvue中配置vuex并持久化到本地Storage图文教程解析
Mar 15 Javascript
微信小程序实现授权登录
May 15 Javascript
Vue使用mixin分发组件的可复用功能
Sep 01 Javascript
Vue通过provide inject实现组件通信
Sep 03 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
便携利器 — TECSUN PL-365简评
2021/03/02 无线电
劣质的PHP代码简化
2010/02/08 PHP
php截取中文字符串不乱码的方法
2013/12/25 PHP
ThinkPHP连接数据库及主从数据库的设置教程
2014/08/22 PHP
php判断是否为ajax请求的方法
2016/11/29 PHP
Jquery Validation插件防止重复提交表单的解决方法
2010/03/05 Javascript
jQuery 源码分析笔记(4) Ready函数
2011/06/02 Javascript
js中复制行和删除行的操作实例
2013/06/25 Javascript
Javascript排序算法之合并排序(归并排序)的2个例子
2014/04/04 Javascript
iframe里使用JavaScript控制主页转向的方法
2015/04/03 Javascript
jQuery实现切换页面过渡动画效果
2015/10/29 Javascript
jQuery实现表格隔行及滑动,点击时变色的方法【测试可用】
2016/08/20 Javascript
Jquery Easyui搜索框组件SearchBox使用详解(19)
2016/12/17 Javascript
BootStrap组件之进度条的基本用法
2017/01/19 Javascript
Angular指令封装jQuery日期时间插件datetimepicker实现双向绑定示例
2017/01/22 Javascript
JavaScript实现分页效果
2017/03/28 Javascript
ES6正则的扩展实例详解
2017/04/25 Javascript
nodejs socket实现的服务端和客户端功能示例
2017/06/02 NodeJs
Javascript别踩白块儿(钢琴块儿)小游戏实现代码
2017/07/20 Javascript
基于vue实现图片验证码倒计时60s功能
2019/12/10 Javascript
JavaScript实现下拉列表
2021/01/20 Javascript
[08:29]DOTA2每周TOP10 精彩击杀集锦vol.7
2014/06/25 DOTA
使用Python编写Linux系统守护进程实例
2015/02/03 Python
python 爬虫一键爬取 淘宝天猫宝贝页面主图颜色图和详情图的教程
2018/05/22 Python
Python+OpenCV实现图像融合的原理及代码
2018/12/03 Python
关于python字符串方法分类详解
2019/08/20 Python
Python3操作Excel文件(读写)的简单实例
2019/09/02 Python
如何让python的运行速度得到提升
2020/07/08 Python
html2canvas生成的图片偏移不完整的解决方法
2020/05/19 HTML / CSS
单位未婚证明范本
2014/01/18 职场文书
小学生安全演讲稿
2014/04/25 职场文书
最美乡村医生事迹材料
2014/06/02 职场文书
SQL模糊查询报:ORA-00909:参数个数无效问题的解决
2021/06/21 Oracle
Python标准库pathlib操作目录和文件
2021/11/20 Python
口袋妖怪冰系十大最强精灵,几何雪花排第七,第六类似北极熊
2022/03/18 日漫
Python Matplotlib绘制等高线图与渐变色扇形图
2022/04/14 Python