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有关元素内容操作小结
Dec 20 Javascript
JS根据变量保存方法名并执行方法示例
Apr 04 Javascript
jquery获取选中的文本和值的方法
Jul 08 Javascript
JS+CSS实现的拖动分页效果实例
May 11 Javascript
基于jQuery 实现bootstrapValidator下的全局验证
Dec 07 Javascript
深入浅析JS的数组遍历方法(推荐)
Jun 15 Javascript
AngularJs  Understanding Angular Templates
Sep 02 Javascript
jQuery菜单实例(全选,反选,取消)
Aug 28 jQuery
基于BootStrap的文本编辑器组件Summernote
Oct 27 Javascript
微信小程序实现分享到朋友圈功能
Jul 19 Javascript
django中使用vue.js的要点总结
Jul 07 Javascript
详解在Vue.js编写更好的v-for循环的6种技巧
Apr 14 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
全国FM电台频率大全 - 6 辽宁省
2020/03/11 无线电
叶罗丽:为什么大家对颜冰这对CP非常关心,却对金茉两人十分冷漠
2020/03/17 国漫
PHP 一个随机字符串生成代码
2010/05/26 PHP
免费手机号码归属地API查询接口和PHP使用实例分享
2014/04/10 PHP
php实现的IMEI限制的短信验证码发送类
2015/05/05 PHP
JavaScript表单常用验证集合
2008/01/16 Javascript
JavaScript 程序编码规范
2010/11/23 Javascript
js当一个变量为函数时 应该注意的一点细节小结
2011/12/29 Javascript
jQuery实现鼠标滑过点击事件音效试听
2015/08/31 Javascript
Node.js连接postgreSQL并进行数据操作
2016/12/18 Javascript
vue.js路由跳转详解
2017/08/28 Javascript
Express + Session 实现登录验证功能
2017/09/08 Javascript
[06:40]2014DOTA2西雅图国际邀请赛 DK战队巡礼
2014/07/07 DOTA
python模拟登录百度贴吧(百度贴吧登录)实例
2013/12/18 Python
Python实现基于权重的随机数2种方法
2015/04/28 Python
Python检测一个对象是否为字符串类的方法
2015/05/21 Python
使用Django Form解决表单数据无法动态刷新的两种方法
2017/07/14 Python
python实现寻找最长回文子序列的方法
2018/06/02 Python
深入浅析Python中list的复制及深拷贝与浅拷贝
2018/09/03 Python
Python3实现的回文数判断及罗马数字转整数算法示例
2019/03/27 Python
python 上下文管理器及自定义原理解析
2019/11/19 Python
简述python Scrapy框架
2020/08/17 Python
Python3中FuzzyWuzzy库实例用法
2020/11/18 Python
Python3利用openpyxl读写Excel文件的方法实例
2021/02/03 Python
基础的CSS3弹性盒Flexbox布局使用实例
2016/04/08 HTML / CSS
Expedia马来西亚旅游网站:廉价酒店,度假村和航班预订
2016/07/26 全球购物
中国综合性网上购物商城:当当(网上卖书起家)
2016/11/16 全球购物
护士自我评价
2014/02/01 职场文书
公司门卫的岗位职责
2014/02/19 职场文书
毕业生自荐信如何写
2014/03/24 职场文书
房产授权委托书范本
2014/09/22 职场文书
学生实习证明模板汇总
2014/09/25 职场文书
2016年班主任新年寄语
2015/08/18 职场文书
原来闭幕词是这样写的呀!
2019/07/01 职场文书
互联网的下一个风口:新的独角兽将诞生
2019/08/02 职场文书
MySQL基础(二)
2021/04/05 MySQL