JS基于开关思想实现的数组去重功能【案例】


Posted in Javascript onFebruary 18, 2019

本文实例讲述了JS基于开关思想实现的数组去重功能。分享给大家供大家参考,具体如下:

场景: 比如给你一个数组var Arr = [ 25, 70, 60, 70, 65, 65, 80 ],最终要得到去重后的新数组[25,70,60,65,80].

思路:

1.先定义个空的新数组newArr;
2.遍历旧数组Arr 中所有元素;
3.定义一个isZai变量表示开关,默认为false状态;
4.遍历新数组所有元素与旧数组元素比较(Arr[ i ] == newArr[ j ]);
5.如果该元素存在于新数组中,则改变开关状态为true;
6.根据开关状态实现需求:如果开关为false状态,则将旧数组的元素添加到新数组中;
7.最后打印新数组

js代码如下

<script>
var Arr = [ 25, 70, 60, 70, 65, 65, 80 ];//最终得到[25,70,60,65,80]
//1.先定义个空的新数组newArr;
var newArr=[];
//2.遍历旧数组Arr 中所有元素;
for(var i=0;i<=Arr.length;i++){
 //3.定义一个isZai变量表示开关,默认为false状态;
 var isZai=false;
 for(var j=0;j<=newArr.length;j++){
 // 4.遍历新数组所有元素与旧数组元素比较(Arr[ i ] == newArr[ j ]);
  if(Arr[ i ] == newArr[ j ]){
  //5.如果该元素存在于新数组中,则改变开关状态为true;
  isZai=true;//假设被推翻
  break;//一旦重复后面没有比较必要
 }
 }
 // 6.根据开关状态实现需求:如果开关为false状态,则将旧数组的元素添加到新数组中;
 if(isZai==false){
  newArr[newArr.length]=Arr[i];
 }
}
 console.log ( newArr )//打印新数组[25,70,60,65,80]
</script>

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

JS基于开关思想实现的数组去重功能【案例】

Javascript 相关文章推荐
用Javascript实现锚点(Anchor)间平滑跳转
Sep 08 Javascript
滚动图片效果 jquery实现回旋滚动效果
Jan 08 Javascript
JSON 数字排序多字段排序介绍
Sep 18 Javascript
node.js中的fs.fsync方法使用说明
Dec 15 Javascript
JavaScript中instanceof运算符的使用示例
Jun 08 Javascript
JavaScript数据结构链表知识详解
Nov 21 Javascript
详解用webpack2.0构建vue2.0超详细精简版
Apr 05 Javascript
浅谈关于axios和session的一些事
Jul 13 Javascript
使用Vue完成一个简单的todolist的方法
Dec 01 Javascript
vue cli使用绝对路径引用图片问题的解决
Dec 06 Javascript
vue elementui 实现搜索栏公共组件封装的实例代码
Jan 20 Javascript
让你30分钟快速掌握vue3教程
Oct 26 Javascript
JS实现点击li标签弹出对应的索引功能【案例】
Feb 18 #Javascript
Vue框架TypeScript装饰器使用指南小结
Feb 18 #Javascript
深入理解vue-class-component源码阅读
Feb 18 #Javascript
详解TypeScript+Vue 插件 vue-class-component的使用总结
Feb 18 #Javascript
jQuery实现的卷帘门滑入滑出效果【案例】
Feb 18 #jQuery
详解ES7 Decorator 入门解析
Feb 18 #Javascript
jQuery插件实现非常实用的tab栏切换功能【案例】
Feb 18 #jQuery
You might like
ThinkPHP验证码使用简明教程
2014/03/05 PHP
php的mssql数据库连接类实例
2014/11/28 PHP
PHP单例模式模拟Java Bean实现方法示例
2018/12/07 PHP
PHP设计模式入门之状态模式原理与实现方法分析
2020/04/26 PHP
js中的前绑定和后绑定详解
2013/08/01 Javascript
鼠标滚轴控制文本框值的JS代码
2013/11/19 Javascript
使用apply方法实现javascript中的对象继承
2013/12/16 Javascript
jquery.post用法之type设置问题
2014/02/24 Javascript
javascript中Date()函数在各浏览器中的显示效果
2015/06/18 Javascript
jquery实现点击变换导航样式的方法
2015/08/31 Javascript
JavaScript中this详解
2015/09/01 Javascript
7个jQuery最佳实践
2016/01/12 Javascript
详述JavaScript实现继承的几种方式(推荐)
2016/03/22 Javascript
jQuery中的基本选择器用法学习教程
2016/04/14 Javascript
基于JS如何实现给字符加千分符(65,541,694,158)
2016/08/03 Javascript
js实现背景图自适应窗口大小
2017/01/10 Javascript
React中jquery引用的实现方法
2017/09/12 jQuery
vue2 中二级路由高亮问题及配置方法
2019/06/10 Javascript
js实现淘宝首页的banner栏效果
2019/11/26 Javascript
vue 项目软键盘回车触发搜索事件
2020/09/09 Javascript
小程序实现上下切换位置
2020/11/16 Javascript
微信小程序实现通讯录列表展开收起
2020/11/18 Javascript
Vue仿Bibibili首页的问题
2021/01/21 Vue.js
如何利用Boost.Python实现Python C/C++混合编程详解
2018/11/08 Python
python tkinter canvas使用实例
2019/11/04 Python
如何使用python进行pdf文件分割
2019/11/11 Python
Python 如何批量更新已安装的库
2020/05/26 Python
python使用scapy模块实现ARP扫描的过程
2021/01/21 Python
英国在线汽车和面包车零件商店:Car Parts 4 Less
2018/08/15 全球购物
小米官方旗舰店:Xiaomi
2020/08/07 全球购物
科颜氏印度官网:Kiehl’s印度
2021/02/20 全球购物
班子查摆四风个人对照检查材料思想汇报
2014/10/04 职场文书
党员干部反四风民主生活会对照检查材料思想汇报
2014/10/12 职场文书
2015年财务试用期工作总结
2014/12/24 职场文书
盗窃案辩护词
2015/05/21 职场文书
解决Vmware虚拟机安装centos8报错“Section %Packages Does Not End With %End. Pane Is Dead”
2022/06/01 Servers