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 相关文章推荐
De facto standard 世界上不可思议的事实标准
Aug 29 Javascript
javascript动态向网页中添加表格实现代码
Feb 19 Javascript
JS动态加载当前时间的方法
Feb 09 Javascript
jQuery检测某个元素是否存在代码分享
Jul 09 Javascript
jquery计算出left和top,让一个div水平垂直居中的简单实例
Jul 13 Javascript
js轮播图的插件化封装详解
Jul 17 Javascript
初探js和简单隐藏效果的实例
Nov 23 Javascript
Vue 动态设置路由参数的案例分析
Apr 24 Javascript
vue移动端路由切换实例分析
May 14 Javascript
js实现类似iphone的网页滑屏解锁功能示例【附源码下载】
Jun 10 Javascript
Smartour 让网页导览变得更简单(推荐)
Jul 19 Javascript
vue语法自动转typescript(解放双手)
Sep 18 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 for 循环语句使用方法详细说明
2010/05/09 PHP
微信网页授权(OAuth2.0) PHP 源码简单实现
2016/08/29 PHP
PHP实现随机生成水印图片功能
2017/03/22 PHP
php设计模式之备忘模式分析【星际争霸游戏案例】
2020/03/24 PHP
在js中判断checkboxlist(.net控件客户端id)是否有选中
2013/04/11 Javascript
javascript中不等于的代码是什么怎么写
2013/12/29 Javascript
jQuery实现可用于博客的动态滑动菜单
2015/03/09 Javascript
使用do...while的方法输入一个月中所有的周日(实例代码)
2016/07/22 Javascript
Node.js 中使用 async 函数的方法
2017/11/20 Javascript
JS脚本实现网页自动秒杀点击
2018/01/11 Javascript
小程序红包雨的实现示例
2019/02/19 Javascript
atom-design(Vue.js移动端组件库)手势组件使用教程
2019/05/16 Javascript
Python2.7.10以上pip更新及其他包的安装教程
2018/06/12 Python
python微信聊天机器人改进版(定时或触发抓取天气预报、励志语录等,向好友推送)
2019/04/25 Python
pandas实现将dataframe满足某一条件的值选出
2019/06/12 Python
在PyCharm中控制台输出日志分层级分颜色显示的方法
2019/07/11 Python
python自动化测试之异常及日志操作实例分析
2019/11/09 Python
python循环输出三角形图案的例子
2019/11/22 Python
PyQt5 closeEvent关闭事件退出提示框原理解析
2020/01/08 Python
pytorch查看通道数 维数 尺寸大小方式
2020/05/26 Python
Python中的整除和取模实例
2020/06/03 Python
用Python 爬取猫眼电影数据分析《无名之辈》
2020/07/24 Python
Python 的 __str__ 和 __repr__ 方法对比
2020/09/02 Python
澳大利亚吉他在线:Artist Guitars
2017/03/30 全球购物
预备党员思想汇报
2014/01/08 职场文书
旷课检讨书2000字
2014/01/14 职场文书
大学生军训自我鉴定
2014/02/12 职场文书
丧事主持词大全
2014/04/02 职场文书
村党的群众路线教育实践活动总结材料
2014/10/31 职场文书
2015欢度元旦标语口号
2014/12/09 职场文书
宝葫芦的秘密观后感
2015/06/11 职场文书
网吧员工管理制度
2015/08/05 职场文书
一道JS算法面试题——冒泡、选择排序
2021/04/21 Javascript
Python Django搭建文件下载服务器的实现
2021/05/10 Python
SQL实战演练之网上商城数据库商品类别数据操作
2021/10/24 MySQL
CSS 一行代码实现头像与国旗的融合
2021/10/24 HTML / CSS