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 Event学习第十章 一些可替换的事件对
Feb 10 Javascript
jquery+json实现的搜索加分页效果
Mar 31 Javascript
ASP.NET jQuery 实例17 通过使用jQuery validation插件校验ListBox
Feb 03 Javascript
JavaScript对IE操作的经典代码(推荐)
Mar 10 Javascript
jquery的attr方法禁用表单元素禁用输入内容
Jun 23 Javascript
javascript比较两个日期相差天数的方法
Jul 23 Javascript
Bootstrap table使用方法汇总
Nov 17 Javascript
react-native封装插件swiper的使用方法
Mar 20 Javascript
利用Angular7开发一个Radio组件的全过程
Jul 11 Javascript
Vue数据驱动表单渲染,轻松搞定form表单
Jul 19 Javascript
js实现表格单列按字母排序
Aug 12 Javascript
JavaScript位置参数实现原理及过程解析
Sep 14 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通过header实现文本文件下载的代码
2010/08/08 PHP
仿Aspnetpager的一个PHP分页类代码 附源码下载
2012/10/08 PHP
php学习笔记之面向对象编程
2012/12/29 PHP
php随机生成数字字母组合的方法
2015/03/18 PHP
javascript高亮效果的二种实现方法
2008/09/14 Javascript
JavaScript 入门基础知识 想学习js的朋友可以参考下
2009/12/26 Javascript
javascript object array方法使用详解
2012/12/03 Javascript
javascript相等运算符与等同运算符详细介绍
2013/11/09 Javascript
纯js实现遮罩层效果原理分析
2014/05/27 Javascript
jquery动态改变form属性提交表单
2014/06/03 Javascript
基于NodeJS的前后端分离的思考与实践(六)Nginx + Node.js + Java 的软件栈部署实践
2014/09/26 NodeJs
深入分析下javascript中的[]()+!
2015/07/07 Javascript
JavaScript每天必学之数组和对象部分
2016/09/17 Javascript
ajax +NodeJS 实现图片上传实例
2017/06/06 NodeJs
ES6学习教程之对象字面量详解
2017/10/09 Javascript
深入理解Vue router的部分高级用法
2018/08/15 Javascript
8 个有用的JS技巧(推荐)
2019/07/03 Javascript
Koa从零搭建到Api实现项目的搭建方法
2019/07/30 Javascript
Vue学习笔记之计算属性与侦听器用法
2019/12/07 Javascript
[49:35]KG vs SECRET 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/19 DOTA
Python实现PS滤镜的万花筒效果示例
2018/01/23 Python
python基础教程项目四之新闻聚合
2018/04/02 Python
在pycharm中使用git版本管理以及同步github的方法
2019/01/16 Python
Python使用百度api做人脸对比的方法
2019/08/28 Python
python动态文本进度条的实例代码
2020/01/22 Python
python用Tkinter做自己的中文代码编辑器
2020/09/07 Python
如何利用CSS3制作3D效果文字具体实现样式
2013/05/02 HTML / CSS
德国化妆品和天然化妆品网上商店:kosmetikfuchs.de
2017/06/09 全球购物
Theo + George官方网站:都柏林时尚品牌
2019/04/08 全球购物
自我评价正确写法范文
2013/12/10 职场文书
保安部任务及岗位职责
2014/02/25 职场文书
活动总结格式范文
2014/04/26 职场文书
2015年大学辅导员工作总结
2015/05/12 职场文书
毕业论文答辩开场白
2015/05/27 职场文书
幸福来敲门观后感
2015/06/04 职场文书
初一年级组工作总结
2015/08/12 职场文书