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 相关文章推荐
jQuery EasyUI API 中文文档 - Parser 解析器
Sep 29 Javascript
常用一些Javascript判断函数
Aug 14 Javascript
给jQuery方法添加回调函数一款插件的应用
Jan 21 Javascript
解析Jquery的LigerUI如何实现文件上传
Jul 09 Javascript
js中的布尔运算符使用介绍
Nov 20 Javascript
vue如何使用 Slot 分发内容实例详解
Sep 05 Javascript
jQuery Dom元素操作技巧
Feb 04 jQuery
vue-for循环嵌套操作示例
Jan 28 Javascript
使用Three.js实现太阳系八大行星的自转公转示例代码
Apr 09 Javascript
layui: layer.open加载窗体时出现遮罩层的解决方法
Sep 26 Javascript
微信小程序实现一个简单swiper代码实例
Dec 30 Javascript
微信小程序图片自适应实现解析
Jan 21 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
php 无极分类(递归)实现代码
2010/01/05 PHP
PHP中使用register_shutdown_function函数截获fatal error示例
2015/04/21 PHP
最新制作ThinkPHP3.2.3完全开发手册
2015/11/23 PHP
Yii2实现同时搜索多个字段的方法
2016/08/10 PHP
php面试中关于面向对象的相关问题
2019/02/13 PHP
laravel 实现向公共模板中传值 (view composer)
2019/10/22 PHP
js cookies实现简单统计访问次数
2009/11/24 Javascript
jQuery实现的多屏图像图层切换效果实例
2015/05/07 Javascript
纯javascript代码实现计算器功能(三种方法)
2015/09/07 Javascript
JS基于clipBoard.js插件实现剪切、复制、粘贴
2016/05/03 Javascript
详解Angular的双向数据绑定(MV-VM)
2016/12/26 Javascript
js学习总结_选项卡封装(实例讲解)
2017/07/13 Javascript
Javascript 实现 Excel 导入生成图表功能
2018/10/22 Javascript
微信小程序表单验证插件WxValidate的二次封装功能(终极版)
2019/09/03 Javascript
浅谈Layui的eleTree树式选择器使用方法
2019/09/25 Javascript
javascript 数组精简技巧小结
2020/02/26 Javascript
python win32 简单操作方法
2017/05/25 Python
Python实现进程同步和通信的方法
2018/01/02 Python
Python实现对一个函数应用多个装饰器的方法示例
2018/02/09 Python
Python实现获取系统临时目录及临时文件的方法示例
2019/06/26 Python
Django框架HttpRequest对象用法实例分析
2019/11/01 Python
python模拟实现斗地主发牌
2020/01/07 Python
详解字符串在Python内部是如何省内存的
2020/02/03 Python
Python使用jupyter notebook查看ipynb文件过程解析
2020/06/02 Python
pandas按照列的值排序(某一列或者多列)
2020/12/13 Python
Matplotlib中rcParams使用方法
2021/01/05 Python
网页切图的CSS和布局经验与要点
2015/04/09 HTML / CSS
用CSS3实现瀑布流布局的示例代码
2017/11/10 HTML / CSS
CSS实现进度条和订单进度条的示例
2020/11/05 HTML / CSS
HTML5 Canvas实现平移/放缩/旋转deom示例(附截图)
2013/07/04 HTML / CSS
年度考核评语
2014/01/19 职场文书
好矿嫂事迹材料
2014/01/21 职场文书
教师个人鉴定材料
2014/02/08 职场文书
2014党的群众路线教育实践活动学习心得体会
2014/10/31 职场文书
涪陵白鹤梁导游词
2015/02/09 职场文书
Win11 BitLocker 驱动器加密
2022/04/19 数码科技