[Java教程]JavaScript常见的五种数组去重的方式

0 2016-12-14 15:00:17

▓▓▓▓▓▓ 大致介绍

JavaScript的数组去重问题在许多面试中都会遇到,现在做个总结

先来建立一个数组var arr = [1,2,3,3,2,'我','我',34,'我的',NaN,NaN];

▓▓▓▓▓▓ 第一种

思路:建立一个临时数组,用for循环去依次判断arr中的每个项在临时数组中是否有相同的值,如果没有则将这个值添加到临时数组,如果有相同的值则不添加,最后返回这个临时数组

代码:1 Array.prototype.removeDuplicate = function(){ 2 var n = []; 3 for(var i=0;i

注意:不会去掉重复的NaN值

▓▓▓▓▓▓ 第二种

思路:建立一个临时数组,用for循环利用indexOf()方法去依次判断arr中的每个项在arr中第一次出现的位置,如果这个项在arr中第一次出现的位置就是它的位置,表明在它之前没有相同的值则把它添加到临时数组中,如果这个项在arr中第一次出现的位置不是他的位置则表明在它之前有相同的值,则不把他添加到临时数组中;最后返回临时数组

代码:1 Array.prototype.removeDuplicate = function(){ 2 var n = []; 3 for(var i=0;i

注意:会把NaN值删除

▓▓▓▓▓▓ 第三种

思路:建立一个临时对象,利用for循环检测这个临时对象有没有arr[i]这个属性,如果没有这个属性表明arr[i]在它之前没有和它重复的值。把临时对象的arr[i]属性设置为true,表明有这个属性并把这个项添加到临时数组中;最后返回临时数组

代码:1 Array.prototype.removeDuplicate = function(){ 2 var n = [],m = {}; 3 for(var i=0;i

▓▓▓▓▓▓ 第四种

思路:先将这个数组排序,然后比较每个项和它后面的项的值是否相等,如果不相等则添加到临时数组中;最后返回临时数组

代码:1 Array.prototype.removeDuplicate = function(){ 2 var n = []; 3 this.sort(); 4 for(var i=0;i

注意:不会去掉重复的NaN值

▓▓▓▓▓▓ 第五种

思路:利用ES6的方法set方法去重,并用Array.from转换为数组

set是一种新的数据结构,它可以接收一个数组或者是类数组对象,自动去重其中的重复项目,返回一个对象

代码:1 Array.prototype.removeDuplicate = function(){2 return (Array.from(new Set(this)));3 }4 var m = arr.removeDuplicate();5 console.log(m);//[1, 2, 3, "我", 34, "我的", NaN]

本文网址:http://www.shaoqun.com/a/269063.html

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:admin@shaoqun.com。

JavaScript

0

Java数组去重的多种方法,[Java教程]JavaScript常见的五种数组去重的方式相关推荐

  1. java调用javascript函数_[Java教程]JavaScript函数的4种调用方法详解

    [Java教程]JavaScript函数的4种调用方法详解 0 2016-08-09 00:00:12 在JavaScript中,函数是一等公民,函数在JavaScript中是一个数据类型,而非像C# ...

  2. python去重语句_Python对列表去重的多种方法(四种方法)

    无聊统计了下列表去重到底有多少种方法.下面小编给大家总结一下,具体内容详情如下: 开发中对数组.列表去重是非常常见的需求,对一个list中的id进行去重,有下面几种方法,前面两种方法不能保证顺序, 后 ...

  3. python 多重列表去重_Python对列表去重的多种方法(四种方法)

    Python对列表去重的多种方法(四种方法) 无聊统计了下列表去重到底有多少种方法.下面小编给大家总结一下,具体内容详情如下: 开发中对数组.列表去重是非常常见的需求,对一个list中的id进行去重, ...

  4. 网站优化基础教程:发布外链常见的五种方式!

    想要做好网站优化,外链的发布也是很重要的一环,如果您还没有做,建议您抓紧去做一下. 这篇文章发迹创业网就分享一下,常见的几种发布外链的方法. 1,锚文本 又叫做超链接,是指给关键词加一个链接,点击该关 ...

  5. html5 汽车广告,车身广告常见的五种制作方法

    原标题:车身广告常见的五种制作方法 车身广告能够在户外移动的展示广告信息,还能够给户外的环境添加一些惬意,让人不仅能看到车水马龙的交通,也能够欣赏到移动的广告画面.下面是对车身广告制作方法的详细介绍: ...

  6. java 世界协调时间格式_Java核心教程之常见时间日期的处理方法

    Java日期处理类Date详解 时间的基础知识 时区:整个地球分为二十四时区,每个时区都有自己的本地时间. 为了统一起见,使用一个统一的时间,称为全球标准时间(UTC,Universal Time C ...

  7. java将数组元素倒置(反转)的方法?我只想到了5种,有其他方式欢迎补充

    文章目录 题目 算法实现 方法一 方法二 方法三 方法四 方法五 代码以及效率测试 打印结果 题目 将字符串数组["1", "2", "3" ...

  8. java遍历数组最简洁的方法,java遍历数组的方式有哪些?

    我们也了解Java也已经很久了,那今天小编想问大家是否知道java遍历数组的方式有哪些?是不是内心已经已经有答案了?让就跟着小编的步伐一起看看吧. 1. for循环遍历 这是最基本的遍历方式 通常遍历 ...

  9. 修复weblogic的JAVA反序列化漏洞的多种方法

    0x00 前言 目前oracle还没有在公开途径发布weblogic的JAVA反序列化漏洞的官方补丁,目前看到的修复方法无非两条: 使用SerialKiller替换进行序列化操作的ObjectInpu ...

最新文章

  1. 高文院士:人工智能发展机遇
  2. opencv进阶学习笔记3:像素运算和图像亮度对比度调节
  3. 我的博客园第一个博客.
  4. 我所不知道的Web 前台设计
  5. linux系统在虚拟机中迁移的技术难点
  6. 创建简单的静态库和动态库
  7. flash倒计时制作
  8. 关于vray 5.2的使用(自研笔记)
  9. 电信院 创新创业实践二 FPGA Verilog vivado 数码显示管 显示译码器
  10. 基于区块链的去中心化存储(区块链存储)的工作流程
  11. Urban Radiance Fields
  12. 如何规避海外置业风险,2019必备海外房产投资技巧
  13. 慧据价值 链接未来丨第八届数据技术嘉年华大会全议程呈现
  14. 论文研读——n个物体相互间的碰撞避免
  15. python中函数返回值为func 和func() 的区别
  16. MonoDevelop花括号(大括号)自动补全
  17. 我国成功发射第七颗北斗导航卫星
  18. 《老板最爱的简历表》阅读
  19. Java模拟微信抢红包
  20. unity 让ui对齐_Unity中UI锚点的四种摆放形式

热门文章

  1. anaconda使用github代码_使用这几款插件,能让你在GitHub看代码的效率翻倍
  2. 一阶低通滤波器方程_一阶RC低通滤波器杂记
  3. Java事件侦听器函数_SWT 计算器 按钮事件监听 获取按钮text值
  4. SpringBoot-Mail 发邮件(单发、群发、加附件、HTML格式)
  5. allure-pytest 测试报告分享给大家
  6. Python调用Java代码部署及初步使用
  7. 关于msi格式的程序包的安装
  8. 解决VS2005“无法启动调试,绑定句柄失效”
  9. ASP.NET 控制页和内容页中的事件
  10. jquery/原生js/css3 实现瀑布流以及下拉底部加载