Java数组去重的多种方法,[Java教程]JavaScript常见的五种数组去重的方式
[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常见的五种数组去重的方式相关推荐
- java调用javascript函数_[Java教程]JavaScript函数的4种调用方法详解
[Java教程]JavaScript函数的4种调用方法详解 0 2016-08-09 00:00:12 在JavaScript中,函数是一等公民,函数在JavaScript中是一个数据类型,而非像C# ...
- python去重语句_Python对列表去重的多种方法(四种方法)
无聊统计了下列表去重到底有多少种方法.下面小编给大家总结一下,具体内容详情如下: 开发中对数组.列表去重是非常常见的需求,对一个list中的id进行去重,有下面几种方法,前面两种方法不能保证顺序, 后 ...
- python 多重列表去重_Python对列表去重的多种方法(四种方法)
Python对列表去重的多种方法(四种方法) 无聊统计了下列表去重到底有多少种方法.下面小编给大家总结一下,具体内容详情如下: 开发中对数组.列表去重是非常常见的需求,对一个list中的id进行去重, ...
- 网站优化基础教程:发布外链常见的五种方式!
想要做好网站优化,外链的发布也是很重要的一环,如果您还没有做,建议您抓紧去做一下. 这篇文章发迹创业网就分享一下,常见的几种发布外链的方法. 1,锚文本 又叫做超链接,是指给关键词加一个链接,点击该关 ...
- html5 汽车广告,车身广告常见的五种制作方法
原标题:车身广告常见的五种制作方法 车身广告能够在户外移动的展示广告信息,还能够给户外的环境添加一些惬意,让人不仅能看到车水马龙的交通,也能够欣赏到移动的广告画面.下面是对车身广告制作方法的详细介绍: ...
- java 世界协调时间格式_Java核心教程之常见时间日期的处理方法
Java日期处理类Date详解 时间的基础知识 时区:整个地球分为二十四时区,每个时区都有自己的本地时间. 为了统一起见,使用一个统一的时间,称为全球标准时间(UTC,Universal Time C ...
- java将数组元素倒置(反转)的方法?我只想到了5种,有其他方式欢迎补充
文章目录 题目 算法实现 方法一 方法二 方法三 方法四 方法五 代码以及效率测试 打印结果 题目 将字符串数组["1", "2", "3" ...
- java遍历数组最简洁的方法,java遍历数组的方式有哪些?
我们也了解Java也已经很久了,那今天小编想问大家是否知道java遍历数组的方式有哪些?是不是内心已经已经有答案了?让就跟着小编的步伐一起看看吧. 1. for循环遍历 这是最基本的遍历方式 通常遍历 ...
- 修复weblogic的JAVA反序列化漏洞的多种方法
0x00 前言 目前oracle还没有在公开途径发布weblogic的JAVA反序列化漏洞的官方补丁,目前看到的修复方法无非两条: 使用SerialKiller替换进行序列化操作的ObjectInpu ...
最新文章
- 高文院士:人工智能发展机遇
- opencv进阶学习笔记3:像素运算和图像亮度对比度调节
- 我的博客园第一个博客.
- 我所不知道的Web 前台设计
- linux系统在虚拟机中迁移的技术难点
- 创建简单的静态库和动态库
- flash倒计时制作
- 关于vray 5.2的使用(自研笔记)
- 电信院 创新创业实践二 FPGA Verilog vivado 数码显示管 显示译码器
- 基于区块链的去中心化存储(区块链存储)的工作流程
- Urban Radiance Fields
- 如何规避海外置业风险,2019必备海外房产投资技巧
- 慧据价值 链接未来丨第八届数据技术嘉年华大会全议程呈现
- 论文研读——n个物体相互间的碰撞避免
- python中函数返回值为func 和func() 的区别
- MonoDevelop花括号(大括号)自动补全
- 我国成功发射第七颗北斗导航卫星
- 《老板最爱的简历表》阅读
- Java模拟微信抢红包
- unity 让ui对齐_Unity中UI锚点的四种摆放形式
热门文章
- anaconda使用github代码_使用这几款插件,能让你在GitHub看代码的效率翻倍
- 一阶低通滤波器方程_一阶RC低通滤波器杂记
- Java事件侦听器函数_SWT 计算器 按钮事件监听 获取按钮text值
- SpringBoot-Mail 发邮件(单发、群发、加附件、HTML格式)
- allure-pytest 测试报告分享给大家
- Python调用Java代码部署及初步使用
- 关于msi格式的程序包的安装
- 解决VS2005“无法启动调试,绑定句柄失效”
- ASP.NET 控制页和内容页中的事件
- jquery/原生js/css3 实现瀑布流以及下拉底部加载