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

 更新时间:2018年07月19日 10:15:45   作者:稀里糊涂林老冷  
这篇文章主要介绍了JavaScript去掉数组重复项的方法,结合实例形式分析了javascript使用object特性实现数组去除重复项功能的相关操作技巧,需要的朋友可以参考下

本文实例分析了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.jb51.net/code/HtmlJsRun,运行结果如下:

PS:这里再为大家提供几款相关工具供大家参考使用:

在线去除重复项工具:
http://tools.jb51.net/code/quchong

在线文本去重复工具:
http://tools.jb51.net/aideddesign/txt_quchong

在线动画演示插入/选择/冒泡/归并/希尔/快速排序算法过程工具:
http://tools.jb51.net/aideddesign/paixu_ys

更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript数组操作技巧总结》、《JavaScript字符与字符串操作技巧总结》、《JavaScript遍历算法与技巧总结》、《JavaScript排序算法总结》、《JavaScript查找算法技巧总结》、《JavaScript数学运算用法总结》、《JavaScript数据结构与算法技巧总结》及《JavaScript错误与调试技巧总结

希望本文所述对大家JavaScript程序设计有所帮助。

相关文章

  • 优化innerHTML操作(提高代码执行效率)

    优化innerHTML操作(提高代码执行效率)

    多数现代浏览器都实现了innerHTML操作,它的方便性让我们爱不释手,但如果使用不当,很容易出现效率问题,本文通过一个例子来说明如何优化innerHTML操作。
    2011-08-08
  • 微信小程序开发常用功能汇总

    微信小程序开发常用功能汇总

    这篇文章主要介绍了微信小程序开发常用功能,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-02-02
  • 原生JS控制多个滚动条同步跟随滚动效果

    原生JS控制多个滚动条同步跟随滚动效果

    本文要探讨的是,当这两个容器元素的内容都超出了容器高度,即都出现了滚动框的时候,如何在其中一个容器元素滚动时,让另外一个元素也随之滚动
    2017-12-12
  • 基于JavaScript实现窗口拖动效果

    基于JavaScript实现窗口拖动效果

    这篇文章主要介绍了基于JavaScript实现窗口拖动效果的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-01-01
  • JavaScript实现时间格式的切割与转换

    JavaScript实现时间格式的切割与转换

    这篇文章主要为大家详细介绍了使用JavaScript实现时间格式的切割与转换的相关知识,文中的示例代码讲解详细,有需要的小伙伴可以参考一下
    2024-04-04
  • bootstrap modal+gridview实现弹出框效果

    bootstrap modal+gridview实现弹出框效果

    这篇文章主要介绍了bootstrap modal+gridview实现弹出框效果,gridview点击更新弹出填写信息表单,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08
  • 简化版手机端照片预览组件

    简化版手机端照片预览组件

    这篇文章主要介绍了简化版手机端照片预览组件的相关资料,需要的朋友可以参考下
    2015-04-04
  • 微信小程序 JS动态修改样式的实现方法

    微信小程序 JS动态修改样式的实现方法

    这篇文章主要给大家介绍了关于微信小程序JS动态修改样式的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-12-12
  • 详解js删除数组中的指定元素

    详解js删除数组中的指定元素

    在本篇文章中我们给大家分享了js删除数组中的指定元素的详实示例方法,有需要的朋友们学习下
    2018-10-10
  • js 禁用浏览器的后退功能的简单方法

    js 禁用浏览器的后退功能的简单方法

    要禁用后退的话,在每个页面的顶部加上脚本:
    2008-12-12

最新评论