var a = [5,6,5,4,'3',{},3,'字符']   

方法一:建立新数组,利用indexOf判断是否存在于新数组中,不存在则push到新数组,最后返回新数组
    function unique0() {let arr = [];for(let i = 0;len = a.length,i < len;i ++){if(arr.indexOf(a[i]) === -1){arr.push(a[i])}}return arr}console.log(unique0(a))

方法二:利用object对象保存数组值,判断数组值是否已经保存在object中,未保存则push到新数组并用object[arrayItem]=1的方式记录保存
    function unique1(a) {let ret = [];let hash = {};for(let i = 0;len = a.length,i < len ;i ++){let key = typeof a[i] + a[i]if(!hash[key]){hash[key] = 1;ret.push(a[i])}}return ret}console.log(unique1(a))

方法三:ES6新数据结构set,新方法Array.from
    function unique2(a) {let arr = new Set(a)return Array.from(arr)}console.log(unique2(a))

转载于:https://www.cnblogs.com/kaw19950302/p/7867467.html

三中好用的数组去重方式相关推荐

  1. 面试题----几种数组去重方式

    数组去重的几种方法 1.使用数组方法indexOf来判断 IE8--不兼容 function sele(arr){var temp = [];for( var i = 0 ; i < arr.l ...

  2. ES6最简单的数组去重方式

    let arr1 = [1,2,4,4,22,22,33,33] let set = new Set(arr1); Array.from(set) console.log(set);

  3. 史上最全JavaScript数组去重的十种方法(推荐)

    一.前言: 我们在实际工作中,或者在面试找工作时,都会用到或者被问到一个问题,那就是"数组如何去重".是的,这个问题有很多种解决方案,看看下面的十种方式吧! 二.数组去重方式大汇总 ...

  4. js 数组去重、扁平化函数

    1.数组扁平化(又称数组降维) flat() 方法会按照一个可指定的深度递归遍历数组,并将所有元素与遍历到的子数组中的元素合并为一个新数组返回 const test = ["a", ...

  5. 数组去重的各种方式对比

    数组去重,是一个老生常谈的问题了,在各厂的面试中也会有所提及,接下来就来细数一下各种数组去重的方式吧: 对于以下各种方式都统一命名为 unique,公用代码如下: // 生成一个包含100000个[0 ...

  6. Java数组去重的多种方法,[Java教程]JavaScript常见的五种数组去重的方式

    [Java教程]JavaScript常见的五种数组去重的方式 0 2016-12-14 15:00:17 ▓▓▓▓▓▓ 大致介绍 JavaScript的数组去重问题在许多面试中都会遇到,现在做个总结 ...

  7. c语言用hash方式数组去重,利用set实现去重

    最近读了一些有关于ES6的文章,觉得真是一个超级大的进步,就是不知道兼容性怎么样,鉴于我还在初学,先写个小例子练手,顺便时刻提醒自己要坚持学下去.未来的趋势肯定是替代es5没跑了. var arr=[ ...

  8. php array 数组去重,更快的方式实现 PHP 数组去重

    如何学习PHP array_flip()定义和用法 array_flip() 函数返回一个反转后的数组,如果同一值出现了多次,则最后一个键名将作为它的值,所有其他的键名都将丢失. 如果原数组中的值的数 ...

  9. php 数组去重函数,【译】更快的方式实现PHP数组去重

    概述 使用PHP的array_unique()函数允许你传递一个数组,然后移除重复的值,返回一个拥有唯一值的数组.这个函数大多数情况下都能工作得很好.但是,如果你尝试在一个大的数组里使用array_u ...

最新文章

  1. 设置默认settings文件_Django 学习笔记系列 之 settings.py 设定
  2. Linux移植随笔:终于解决Tslib的问题了【转】
  3. Java参数传递笔记
  4. python从入门到放弃-Python数据分析从入门到放弃(十五)爬虫(番外)基金选取实例...
  5. linux下PHP后台配置极光推送问题
  6. 再看《JavaScript高级程序设计》第8-9章
  7. 手把手教你写一个web聊天室之bookstap框架
  8. 两台ROS相互通信,并测试节点
  9. 稳压电源: 电路图及类型
  10. 远行星号java 出错_远行星号跳出问题[已解决]
  11. 中国区块链第一辩 | 老冒:区块链3.0应该让应用变得跟Web一样简单
  12. 2021中国开源优秀人物榜出炉!
  13. 每天一篇论文 289/365Deep Reinforcement Learning for Robotic Pushing and Picking in Cluttered Environment
  14. 不小心合并了icloud通讯录_iCloud合并通讯录没了如何恢复?最简单的技巧分析
  15. 马克思主义哲学笔记(三)
  16. Python库中,如何使用jieba模块来实现古典名著《西游记》的分词
  17. 邮箱怎么注册流程,如何申请公共邮箱?
  18. pip 怎么都升级不成功?如何解决
  19. java开发入门实验报告_Java实验二实验报告 20135108 李泽源
  20. 区块链在工业互联网的应用前景

热门文章

  1. 初学web前端开发,你必要了解的基本概念与工具技术
  2. 大佬教你如何写出更好的CSS,分享web前端资料
  3. python中连续两个小于号_Python语言描述最大连续子序列和
  4. 三年级下册计算机课程工作计划,三年级下册信息技术教学工作计划
  5. java的jtextarea_java中怎么在JTextArea中添加图片?
  6. oracle 赋予dorp,oracle表空间(tablespace)的增删改查(create/drop/rename,move/select)
  7. oracle 历史查询是哪个机器发起的,Oracle 查询历史连接主机信息
  8. 牛客网-Technology Tree
  9. 反卷积(Deconvolution)、上采样(UNSampling)与上池化(UnPooling)加入自己的思考(tensorflow函数)(一)
  10. Android学习笔记(二)——TextView常用属性以及下划线、跑马灯设置