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 相关文章推荐
JS 拼图游戏 面向对象,注释完整。
Jun 18 Javascript
js写的方法实现上传图片之后查看大图
Mar 05 Javascript
js字符串完全替换函数分享
Dec 03 Javascript
Javascript验证Visa和MasterCard信用卡号的方法
Jul 27 Javascript
bootstrap配合Masonry插件实现瀑布式布局
Jan 18 Javascript
BootStrap Datepicker 插件修改为默认中文的实现方法
Feb 10 Javascript
使用jQuery的load方法设计动态加载及解决被加载页面js失效问题
Mar 01 Javascript
在Vue中使用highCharts绘制3d饼图的方法
Feb 08 Javascript
JavaScript获取移动设备型号的实现代码(JS获取手机型号和系统)
Mar 10 Javascript
浅谈React 服务器端渲染的使用
May 08 Javascript
解决vue admin element noCache设置无效的问题
Nov 12 Javascript
vue+echarts实现中国地图流动效果(步骤详解)
Jan 27 Vue.js
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
WHOOPS PHP调试库的使用
2017/09/29 PHP
thinkPHP5框架auth权限控制类与用法示例
2018/06/12 PHP
php高清晰度无损图片压缩功能的实现代码
2018/12/09 PHP
YII框架常用技巧总结
2019/04/27 PHP
一个js实现的所谓的滑动门
2007/05/23 Javascript
不同的jQuery API来处理不同的浏览器事件
2012/12/09 Javascript
jquery交替变换颜色的三种方法 实例代码
2013/11/19 Javascript
js获取select标签选中值的两种方式
2014/01/09 Javascript
后台获取ZTREE选中节点的方法
2015/02/12 Javascript
关注jquery技巧提高jquery技能(前端开发必学)
2015/11/02 Javascript
JavaScript的Ext JS框架中的GridPanel组件使用指南
2016/05/21 Javascript
详解AngularJS如何实现跨域请求
2016/08/22 Javascript
Bootstrap在线电子商务网站实战项目5
2016/10/14 Javascript
JS实现中国公民身份证号码有效性验证
2017/02/20 Javascript
原生JS仿QQ阅读点击展开、收起效果
2017/03/08 Javascript
详解Vue.js和layui日期控件冲突问题解决办法
2019/07/25 Javascript
[03:57]2016完美“圣”典风云人物:rOtk专访
2016/12/09 DOTA
python 中的列表解析和生成表达式
2011/03/10 Python
python实现在windows服务中新建进程的方法
2015/06/30 Python
python 根据pid杀死相应进程的方法
2017/01/16 Python
python 获取文件下所有文件或目录os.walk()的实例
2018/04/23 Python
python创建文件时去掉非法字符的方法
2018/10/31 Python
Python设计模式之原型模式实例详解
2019/01/18 Python
Django之编辑时根据条件跳转回原页面的方法
2019/08/21 Python
python实现简易学生信息管理系统
2020/04/05 Python
python实现自动清理重复文件
2020/08/24 Python
一文读懂python Scrapy爬虫框架
2021/02/24 Python
香奈儿美国官网:CHANEL美国
2020/05/20 全球购物
单身联谊活动方案
2014/01/29 职场文书
设计师个人求职信范文
2014/02/02 职场文书
校庆标语集锦
2014/06/25 职场文书
病假证明模板
2015/06/19 职场文书
重阳节活动主持词
2015/07/04 职场文书
Jsonp劫持学习
2021/04/01 PHP
浅谈移动端中的视口(viewport)的具体使用
2021/04/13 HTML / CSS
Android开发 使用文件储存的方式保存QQ密码
2022/04/24 Java/Android