各位朋友大家好,大家点开这篇文章让我感到非常荣幸。这一次给大家分享的是数组去重的小知识点,今天我主要说的是 indexOf 去重方法。

indexOf

首先我们说一下 indexOf 的相关知识点。

           数组.indexOf() --- 字符首次出现的位置// 查找数组或者字符串中是否有某个数值后者某个字母// 如果有这个内容,返回值是 这个内容的 索引下标// 如果没有这个数据,返回值是 -1 // 这里执行的是 === 全等比较

当然能够查出字符首次出现的位置,那就应该也会查出最后一个字符出现的位置啦!在这里,我们来扩展一下哦!!!

           数组.lastIndexOf() --- 字符最后一次出现的位置// 数组,字符串都可以使用// 有符合条件的数据,执行结果是最后一次出现位置的索引下标// 没有符合条件的数据,执行结果是-1// 进行的也是 === 全等比较

下面是实例讲解时刻

        <script>var arr = [1,1,1,1,1,'w',2,2,2,2,2,'w','w','w',2,3,'true',3,'true',3,3,3,'true',3,4,4,4,4,5,5,5,5,5]//建立一个空数组,来存储原始数组中,不重复数据var nu =  [];// 循环遍历,获取原始数组arr中的所有数值arr.forEach(function(v){// 在新数组中,查找当前获取的原始数组的数值// newArr.indexOf(v) 执行结果如果是 -1// 证明在新数组中,没有这个原始数组的数据if(nu.indexOf(v) === -1){nu.push(v);}})console.log(nu);</script>
基本思路:1、建立一个新的数组,将原始数值中的数值,向新的数组中写入2、如果这个数值不存在于新的数组中,就执行写入,如果已经存在,就不写入

运行结果图:

若是字符串该如何去重???

在这里我们今天还用 indexOf 的方法进行去重

解题思路和上面的基本相同,我们这里就不再多说什么啦!

    <script>var str = 'aaabbbbcccddddeeeeefffff';// 原理相同,只是字符串不能使用forEach()循环var newStr = '';// 通过for...in来循环遍历,字符串// key存储的是每个字母的索引下标for(var key in str){// str[key] 是 当前循环,获取的索引下标,对应的字符串中的字母// newStr.indexOf(str[key]) 判断 新字符串中,是否有当前这个字母// 如果结果是 -1 证明新字符串中没有这个字母if(newStr.indexOf(str[key]) === -1){// 执行字符串拼接操作,将这个字母拼接入新的字符串中newStr += str[key];}}console.log(newStr);</script>

运行结果图:

切记,这里字符串去重不能够用 forEach()循环

数组----数组去重(chong)篇相关推荐

  1. php 合并两个数组并去重,合并两个数组 以KEY 作为键

    $a= array( array( 'ID'=> 2 ) ); $b= array( array( 'ID'=> 5656 ) ); print_r($r); //合并两个数组 以ID值 ...

  2. php合并数组并且去重,php合并数组

    这篇文章主要介绍了关于php合并数组,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 合并数组的方法array_merge: 数字键,直接往后添加,key重置 字符串键,后面的数组的值会 ...

  3. php 两个二维数组怎么去重,php 二维数组怎么不去重合并

    php二维数组不去重合并的方法:首先创建一个PHP示例文件:然后创建两个二维数组:最后通过"array_merge_recursive"函数合并数组即可. 本文操作环境:Windo ...

  4. FreeCodeCamp学习之数组查找去重

    数组查找去重 实现一个摧毁(destroyer)函数,第一个参数是待摧毁的数组,其余的参数是待摧毁的值 destroyer([1, 2, 3, 1, 2, 3], 2, 3) 应该返回 [1, 1]. ...

  5. js实现数组对象去重

    数组对象去重,可直接复用 /***数组对象去重** @param {Array} arr 去重数组* @param {String} key 唯一标识*/ deduplication(arr, key ...

  6. PHP数组合并+与array_merge的区别分析 对多个数组合并去重技巧

    PHP中两个数组合并可以使用+或者array_merge,但之间还是有区别的,而且这些区别如果了解不清楚项目中会要命的! 主要区别是两个或者多个数组中如果出现相同键名,键名分为字符串或者数字,需要注意 ...

  7. 一行代码实现数组降维去重排序

    接下来用到的方法,全部来自es6,不了解的同学可以先学习es6的相关知识. es6数组方法 话不多说,直接上代码 var arr = [ [1, 2, 2], [3, 4, 5, 5], [6, 7, ...

  8. java 集合数组 例子_Java数组元素去重(不使用集合)(示例代码)

    /* * 需求:去除整型数组中重复的元素,不能使用集合等方法 * * 解决思路: * 1.对数组中的元素进行从小到大的顺序排序 * 2.获取数组中重复元素的个数 * 3.获取数组中重复元素的索引位置, ...

  9. Java有序数组——原地去重——不使用额外空间

    Java数组去重 Java有序数组--原地去重--不使用额外空间 1. 题目: 2. 示例: 3. 思路: 4. 源码 5. 运行结果: 6. 拓展 Java有序数组--原地去重--不使用额外空间 1 ...

  10. vba遍历数组_Excel VBA中如何对数组进行去重

    在使用Excel VBA的过程中,经常需要使用数组(Array)将数据进行存放,但防止数据出现重复成文了一个问题.这是就可以用到对数组进行去重. 现在我们有一个数组分别是a 这个数组中有部分重复数值, ...

最新文章

  1. v9php 碎片信息,phpcms v9碎片管理及调用技巧分享
  2. Spring集成TestNg测试
  3. 最新优质网站联盟大全(个人站长必知)
  4. UVA - 10168 Summation of Four Primes(哥德巴赫猜想)
  5. 蓝桥杯 ADV-156 算法提高 分分钟的碎碎念
  6. java 什么是servlet_JavaWeb解释一下什么是 servlet?
  7. javascript在html中的延迟与异步
  8. 2019 最新蚂蚁花呗Java三面题目:红黑树+并发容器+CAS+Solr+分布式等
  9. swift 对象转换_Swift类型转换–照原样,任何对象
  10. php nusoap web service
  11. IP地址(定义、分类、掩码及保留地址)
  12. html中图片放大镜效果图,HTML5使用不同精度的图片来实现图像放大镜效果
  13. Linux面试题1.只查看ett.txt文件(100)中的第20到第30行的内容
  14. 案例分析 | 优衣库DTC模式之全渠道零售
  15. 使用EMOS整理笔记
  16. Photoshop CC 2017 for Photographers: New Features Photoshop CC 2017为摄影师准备的新特性 Lynda课程中文字幕
  17. Service Mesh介绍
  18. MongoDB未授权访问漏洞
  19. 科研诚信与学术规范_Mooc_2018_期末考试答案
  20. 5教程 watchout_初中英语阅读课教学交流

热门文章

  1. PLSQL 解析XML示例2
  2. C# 如何更改程序集名称
  3. 警惕钓鱼网站,除了个人信息还能找到你的住址!
  4. 目标检测中的遮挡问题及优化
  5. android MVC,MVP,MVVM
  6. spring mvc + JSR-303验证框架
  7. 【转载】路由器的原理与作用
  8. 七天免登录(Cookie+session)+ 页面显示动画人物效果(萌娘+气泡效果)+购物车的实现代码
  9. 2023最新彩虹网盘外链系统源码5.4+新增分块上传功能等
  10. 导入自己模块包导入报错:ModuleNotFoundError: No module named ‘xxx‘解决方法 晓物智联