JavaScript去掉数组重复项的方法分析【测试可用】


Posted in Javascript onJuly 19, 2018

本文实例分析了JavaScript去掉数组重复项的方法。分享给大家供大家参考,具体如下:

利用JavaScript的object的特性,我们可以非常容易的实现将一个数组的重复项去掉。

object的特性是:key一定是唯一的。

把数组重复项去掉:

1 将数组转换成一个object对象,数组的值作为object对象的 key

因为key是唯一的,碰到重复的数组值的时候,object不会添加key

2 将object对象转换成数组,key为数组的值。

在之前的重复数组,每一个值实际上对应object只有一个key,这样在还原到数组的时候,重复值就去掉了

<script>
/*用object的特性去掉数组的重复项:
1 把数组转化成oject对象,用数组的值当作obj的key
2 把object再转换成数组
*/
// 传入数组 返回object对象
var toObj = function( arr ){
  obj = {};
  for(var temp in arr){
    //对arr的每一个值添加到obj的key,value都是true
    obj[arr[temp]] = true;
  }
  return obj;
};
// 传入obj对象 返回arr数组
var toArr = function( obj ){
  var arr = [];
  for(var temp in obj){
    //把所有的key push到数组当中
    arr.push(temp);
  }
  return arr;
};
//把两个方法联合起来
var getUniq = function(arr){
  return toArr( toObj(arr) );
};
var arr = [1,1,2,2,3,3,4,4,5,5,5,6,6,6,6,6,6,5,4,3,54,8,11];
console.log(getUniq(arr));
</script>

使用在线HTML/CSS/JavaScript代码运行工具:http://tools.3water.com/code/HtmlJsRun,运行结果如下:

JavaScript去掉数组重复项的方法分析【测试可用】

Javascript 相关文章推荐
checkbox选中与未选中判断示例
Aug 04 Javascript
JavaScript获取当前运行脚本文件所在目录的方法
Feb 03 Javascript
JS模仿手机端九宫格登录功能实现代码
Apr 28 Javascript
辨析JavaScript中的Undefined类型与null类型
May 26 Javascript
全面接触神奇的Bootstrap导航条实战篇
Aug 01 Javascript
解读vue生成的文件目录结构及说明
Nov 27 Javascript
p5.js入门教程和基本形状绘制
Mar 15 Javascript
微信小程序实现单选选项卡切换效果
Jun 19 Javascript
微信小程序实现收货地址左滑删除
Nov 18 Javascript
vue - vue.config.js中devServer配置方式
Oct 30 Javascript
js实现上传按钮并显示缩略图小轮子
May 04 Javascript
基于better-scroll 实现歌词联动功能的代码
May 07 Javascript
微信小程序自定义对话框弹出和隐藏动画
Jul 19 #Javascript
浅谈Vue初学之props的驼峰命名
Jul 19 #Javascript
解决vue-cli3 使用子目录部署问题
Jul 19 #Javascript
详解vue2.0+axios+mock+axios-mock+adapter实现登陆
Jul 19 #Javascript
微信小程序实现分享到朋友圈功能
Jul 19 #Javascript
微信小程序实现自定义加载图标功能
Jul 19 #Javascript
Angular5集成eventbus的示例代码
Jul 19 #Javascript
You might like
php 获取百度的热词数据的代码
2012/02/18 PHP
PHP中实现Bloom Filter算法
2015/03/30 PHP
PHP实现多文件上传的方法
2015/07/08 PHP
PHP实现动态添加XML中数据的方法
2018/03/30 PHP
搭建PhpStorm+PhpStudy开发环境的超详细教程
2020/09/17 PHP
多个iframe自动调整大小的问题
2006/09/18 Javascript
如何用javascript判断录入的日期是否合法
2007/01/08 Javascript
jquery EasyUI的formatter格式化函数代码
2011/01/12 Javascript
解析js中获得父窗口链接getParent方法以及各种打开窗口的方法
2013/06/19 Javascript
javascript 函数及作用域总结介绍
2013/11/12 Javascript
js window.onload 加载多个函数和追加函数详解
2014/01/08 Javascript
javascript中的undefined和not defined区别示例介绍
2014/02/26 Javascript
Jquery.Form 异步提交表单的简单实例
2014/03/03 Javascript
javascript框架设计读书笔记之字符串的扩展和修复
2014/12/02 Javascript
JS实现随机乱撞彩色圆球特效的方法
2015/05/05 Javascript
BootstrapTable+KnockoutJS自定义T4模板快速生成增删改查页面
2016/08/01 Javascript
模拟javascript中的sort排序(简单实例)
2016/08/17 Javascript
解析如何利用iframe标签以及js制作时钟
2016/12/08 Javascript
JavaScript实现经纬度转换成地址功能
2017/03/28 Javascript
layui表格设计以及数据初始化详解
2019/10/26 Javascript
Vue全局使用less样式,组件使用全局样式文件中定义的变量操作
2020/10/21 Javascript
[01:25]2015国际邀请赛最佳短片奖——斧王《拆塔英雄:天赋异禀》
2015/09/22 DOTA
python3抓取中文网页的方法
2015/07/28 Python
python指定写入文件时的编码格式方法
2018/06/07 Python
Python 微信之获取好友昵称并制作wordcloud的实例
2019/02/21 Python
使用Python实现毫秒级抢单功能
2019/06/06 Python
python主线程与子线程的结束顺序实例解析
2019/12/17 Python
Python使用graphviz画流程图过程解析
2020/03/31 Python
pandas按条件筛选数据的实现
2021/02/20 Python
用canvas画心电图的示例代码
2018/09/10 HTML / CSS
好莱坞百老汇御用王牌美妆:Koh Gen Do 江原道
2018/04/03 全球购物
衰败城市英国官网:Urban Decay英国
2020/04/29 全球购物
找工作最新求职信
2013/12/22 职场文书
2014年团队工作总结
2014/11/24 职场文书
干货干货!2019最新优秀创业计划书
2019/03/21 职场文书
Redis实现订单过期删除的方法步骤
2022/06/05 Redis