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父窗口控制只弹出一个子窗口
Apr 10 Javascript
JS弹出窗口代码大全(详细整理)
Dec 21 Javascript
jquery 自定义容器下雨效果可将下雨图标改为其他
Apr 23 Javascript
javasript实现密码的隐藏与显示
May 08 Javascript
超实用的JavaScript表单代码段
Feb 26 Javascript
js+html5实现canvas绘制网页时钟的方法
May 21 Javascript
ionic实现可滑动的tab选项卡切换效果
Apr 15 Javascript
详解Vue.js基于$.ajax获取数据并与组件的data绑定
May 26 Javascript
解决layui使用layui-icon出现默认图标的问题
Sep 11 Javascript
VUE实现图片验证码功能
Nov 18 Javascript
vue实现列表滚动的过渡动画
Jun 29 Javascript
关于JS中的作用域中的问题思考分享
Apr 06 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写杨辉三角实例代码
2011/07/17 PHP
php使用百度天气接口示例
2014/04/22 PHP
Codeigniter生成Excel文档的简单方法
2014/06/12 PHP
PHP防盗链的基本思想 防盗链的设置方法
2015/09/25 PHP
php如何实现不借助IDE快速定位行数或者方法定义的文件和位置
2017/01/17 PHP
利用PHP判断是否是连乘数字串的方法示例
2017/07/03 PHP
PHP异常类及异常处理操作实例详解
2018/12/19 PHP
通过javascript的匿名函数来分析几段简单有趣的代码
2010/06/29 Javascript
JavaScript中两个感叹号的作用说明
2011/12/28 Javascript
js实现表单Radio切换效果的方法
2015/08/17 Javascript
jquery实现滑屏大图定时收缩为小banner图片的广告代码
2015/09/02 Javascript
nodejs入门教程六:express模块用法示例
2017/04/24 NodeJs
详解webpack 多页面/入口支持&amp;公共组件单独打包
2017/06/29 Javascript
基于JSON数据格式详解
2017/08/31 Javascript
js 发布订阅模式的实例讲解
2017/09/10 Javascript
基于JavaScript实现控制下拉列表
2020/05/08 Javascript
在react-antd中弹出层form内容传递给父组件的操作
2020/10/24 Javascript
[05:08]DOTA2-DPC中国联赛3月6日Recap集锦
2021/03/11 DOTA
dataframe设置两个条件取值的实例
2018/04/12 Python
python把数组中的数字每行打印3个并保存在文档中的方法
2018/07/17 Python
对Python 简单串口收发GUI界面的实例详解
2019/06/12 Python
新手入门Python编程的8个实用建议
2019/07/12 Python
django创建简单的页面响应实例教程
2019/09/06 Python
matlab 计算灰度图像的一阶矩,二阶矩,三阶矩实例
2020/04/22 Python
Python2.x与3​​.x版本有哪些区别
2020/07/09 Python
python单元测试框架pytest的使用示例
2020/10/07 Python
Python爬虫入门教程01之爬取豆瓣Top电影
2021/01/24 Python
html5 input元素新特性_动力节点Java学院整理
2017/07/06 HTML / CSS
室内拓展活动方案
2014/02/13 职场文书
2014年机关植树节活动方案
2014/02/27 职场文书
厂办主管岗位职责范本
2014/02/28 职场文书
医疗专业毕业生求职信
2014/08/28 职场文书
受资助学生感谢信
2015/01/21 职场文书
初中班主任工作随笔
2015/08/15 职场文书
优秀党员先进事迹材料2016
2016/02/29 职场文书
情侣餐厅的创业计划书范本!
2019/07/26 职场文书