JavaScript使用indexOf()实现数组去重的方法分析


Posted in Javascript onSeptember 04, 2018

本文实例讲述了JavaScript使用indexOf()实现数组去重的方法。分享给大家供大家参考,具体如下:

数组去重方法有多中,这里列举出自己认为比较容易理解的方法.

思路:

  • 1. 创建一个新的空数组,用来存放去重后的新数组.
  • 2. 利用for循环循环遍历需要去重的数组.
  • 3. 利用indexOf()方法查询遍历出的数组在新数组中是否出现,如果出现:则继续遍历数组,如未出现:则利用push方法添加到新数组中.
  • 4. 原数组循环遍历完成后,组建一个已经去除重复的新数组.
<script>
  var arr = [1,3,4,5,6,7,4,3,2,4,5,6,7,3,2];
  function find(){
    var newArr = [];
    for (var i = 0; i < arr.length; i++) {
      if (newArr.indexOf(arr[i]) == -1 ) {
        newArr.push(arr[i]);
      }
    }
    document.write(newArr);
  }
  find(arr);
</script>

这里使用在线HTML/CSS/JavaScript代码运行工具http://tools.3water.com/code/HtmlJsRun测试运行结果如下:

JavaScript使用indexOf()实现数组去重的方法分析

补充:indexOf() 方法返回值:

  • 如果检索的结果没有匹配值,则返回 -1.
  • 如果检索的结果匹配到,则返回 1.
Javascript 相关文章推荐
Extjs ajax同步请求时post方式参数发送方式
Aug 05 Javascript
web页面数据展示新想法(json)
Jun 08 Javascript
通过DOM脚本去设置样式信息
Sep 19 Javascript
JavaScript之AOP编程实例
Jul 17 Javascript
javascript 数组的正态分布排序的问题
Jul 31 Javascript
如何利用JSHint减少JavaScript的错误
Aug 23 Javascript
基于jQuery实现选项卡效果
Jan 04 Javascript
js 单引号替换成双引号,双引号替换成单引号的实现方法
Feb 16 Javascript
详解Vue中添加过渡效果
Mar 20 Javascript
浅谈Vue-cli 命令行工具分析
Nov 22 Javascript
微信小程序实现顶部下拉菜单栏
Nov 04 Javascript
Vue 页面权限控制和登陆验证功能的实例代码
Jun 20 Javascript
关于vue v-for 循环问题(一行显示四个,每一行的最右边那个计算属性)
Sep 04 #Javascript
原生JS实现获取及修改CSS样式的方法
Sep 04 #Javascript
微信小程序canvas拖拽、截图组件功能
Sep 04 #Javascript
mpvue写一个CPASS小程序的示例
Sep 04 #Javascript
Vue表单及表单绑定方法
Sep 04 #Javascript
elementUI Vue 单个按钮显示和隐藏的变换功能(两种方法)
Sep 04 #Javascript
为jquery的ajax请求添加超时timeout时间的操作方法
Sep 04 #jQuery
You might like
PHP设计模式之结构模式的深入解析
2013/06/13 PHP
ThinkPHP的URL重写问题
2014/06/22 PHP
thinkPHP删除前弹出确认框的简单实现方法
2016/05/16 PHP
张孝祥JavaScript学习阶段性总结(2)--(X)HTML学习
2007/02/03 Javascript
用Javascript 获取页面元素的位置的代码
2009/09/25 Javascript
extjs中grid中嵌入动态combobox的应用
2011/01/01 Javascript
js/jquery获取浏览器窗口可视区域高度和宽度以及滚动条高度实现代码
2012/12/17 Javascript
nodejs中操作mysql数据库示例
2014/12/20 NodeJs
JS实现多张图片预览同步上传功能
2017/06/23 Javascript
angular写一个列表的选择全选交互组件的示例
2018/01/22 Javascript
vuex actions异步修改状态的实例详解
2019/11/06 Javascript
构建Vue大型应用的10个最佳实践(小结)
2019/11/07 Javascript
浅谈Vue.use到底是什么鬼
2020/01/21 Javascript
Python随机读取文件实现实例
2017/05/25 Python
简单实现python收发邮件功能
2018/01/05 Python
python pandas dataframe 按列或者按行合并的方法
2018/04/12 Python
PyGame贪吃蛇的实现代码示例
2018/11/21 Python
django自定义模板标签过程解析
2019/12/14 Python
PyTorch中Tensor的数据类型和运算的使用
2020/09/03 Python
Python图像读写方法对比
2020/11/16 Python
安装pyinstaller遇到的各种问题(小结)
2020/11/20 Python
关于iframe跨域使用postMessage的实现
2019/10/29 HTML / CSS
一家外企的面试题目(C/C++面试题,C语言面试题)
2014/03/24 面试题
linux面试题参考答案(8)
2016/04/19 面试题
Linux内核产生并发的原因
2016/11/08 面试题
创业计划书模版
2014/02/05 职场文书
篮球兴趣小组活动总结
2014/07/07 职场文书
税务干部群众路线教育实践活动自我剖析材料
2014/09/21 职场文书
2014院党委领导班子及其成员群众路线对照检查材料思想汇报
2014/10/04 职场文书
资产运营委托书范本
2014/10/16 职场文书
地球上的星星观后感
2015/06/02 职场文书
为什么中国式养孩子很累?
2019/08/07 职场文书
导游词之无锡华莱坞
2019/12/02 职场文书
安装pytorch时报sslerror错误的解决方案
2021/05/17 Python
Python 数据科学 Matplotlib图库详解
2021/07/07 Python
Nginx 路由转发和反向代理location配置实现
2021/11/11 Servers