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 相关文章推荐
关于javascript DOM事件模型的两件事
Jul 22 Javascript
腾讯与新浪的通过IP地址获取当前地理位置(省份)的接口
Jul 26 Javascript
利用JS自动打开页面上链接的实现代码
Sep 25 Javascript
JS字符串处理实例代码
Aug 05 Javascript
新增加的内容是如何将div的scrollbar自动移动最下面
Jan 02 Javascript
JS交换变量的方法
Jan 21 Javascript
jQuery检测鼠标左键和右键点击的方法
Mar 17 Javascript
jQuery Ajax Post 回调函数不执行问题的解决方法
Aug 15 Javascript
简单实现bootstrap选项卡效果
Feb 08 Javascript
原生JS实现萤火虫效果
Mar 07 Javascript
JS判断数组四种实现方法详解
Jun 29 Javascript
基于原生js实现九宫格算法代码实例
Jul 03 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
老照片 - 几十年前的收音机与人
2021/03/02 无线电
JQuery select标签操作代码段
2010/05/16 Javascript
按下回车键指向下一个位置的一个函数代码
2014/03/10 Javascript
鼠标移到图片上变大显示而不是放大镜效果
2014/06/15 Javascript
JS获取当前日期时间并定时刷新示例
2021/03/04 Javascript
Node.js静态文件服务器改进版
2016/01/10 Javascript
vue子组件使用自定义事件向父组件传递数据
2017/05/27 Javascript
webpack 2.x配置reactjs基本开发环境详解
2017/08/08 Javascript
js数组实现权重概率分配
2017/09/12 Javascript
利用10行js代码实现上下滚动公告效果
2017/12/08 Javascript
详谈js的变量提升以及使用方法
2018/10/06 Javascript
详解Ant Design of React的安装和使用方法
2018/12/27 Javascript
elementUI多选框反选的实现代码
2019/04/03 Javascript
es6函数之尾递归用法实例分析
2020/04/25 Javascript
js实现简单音乐播放器
2020/06/30 Javascript
python实现每次处理一个字符的三种方法
2014/10/09 Python
Python中存取文件的4种不同操作
2018/07/02 Python
Python地图绘制实操详解
2019/03/04 Python
在python中画正态分布图像的实例
2019/07/08 Python
Django发送邮件和itsdangerous模块的配合使用解析
2019/08/10 Python
解决pytorch DataLoader num_workers出现的问题
2020/01/14 Python
Docker部署Python爬虫项目的方法步骤
2020/01/19 Python
红色康乃馨酒店:Red Carnation Hotels
2017/06/22 全球购物
Unix如何添加新的用户
2014/08/20 面试题
电子邮箱格式怎么写
2014/01/12 职场文书
《蓝色的树叶》教学反思
2014/02/24 职场文书
管理部副部长岗位职责范文
2014/03/09 职场文书
学习2014年全国两会心得体会
2014/03/12 职场文书
林肯就职演讲稿
2014/05/19 职场文书
项目经理任命书内容
2014/06/06 职场文书
文化产业实施方案
2014/06/07 职场文书
拔河比赛口号
2014/06/10 职场文书
竞聘演讲稿开场白
2014/08/25 职场文书
2014年宣传部工作总结
2014/11/12 职场文书
2014年底工作总结
2014/12/15 职场文书
详解Python类和对象内容
2021/06/22 Python