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 相关文章推荐
onpropertypchange
Jul 01 Javascript
关于JS数组追加数组采用push.apply的问题
Jun 09 Javascript
jQuery表单验证功能实例
Aug 28 Javascript
node.js路径处理方法以及绝对路径详解
Mar 04 Javascript
Javascript数组中push方法用法分析
Oct 31 Javascript
Html中 IFrame的用法及注意点
Dec 22 Javascript
@angular前端项目代码优化之构建Api Tree的方法
Dec 24 Javascript
配置一个vue3.0项目的完整步骤
Apr 26 Javascript
node.js事件轮询机制原理知识点
Dec 22 Javascript
Vuex的热更替如何实现
Jun 05 Javascript
在vue中封装的弹窗组件使用队列模式实现方法
Jul 23 Javascript
JavaScript JSON使用原理及注意事项
Jul 30 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
手冲咖啡应该是现代精品咖啡店的必备选项吗?
2021/03/03 冲泡冲煮
过滤掉PHP数组中的重复值的实现代码
2011/07/17 PHP
ThinkPHP无限级分类原理实现留言与回复功能实例
2014/10/31 PHP
分享一段PHP制作的中文拼音首字母工具类
2014/12/11 PHP
浅析Laravel5中队列的配置及使用
2016/08/04 PHP
php计数排序算法的实现代码(附四个实例代码)
2020/03/31 PHP
写了一个layout,拖动条连贯,内容区可为iframe
2007/08/19 Javascript
cookie中的path与domain属性详解
2013/12/18 Javascript
js语法学习之判断一个对象是否为数组
2014/05/13 Javascript
JavaScript学习笔记之基础语法
2015/01/22 Javascript
JavaScript实现为input与textarea自定义hover,focus效果的方法
2015/08/21 Javascript
JQuery实现左右滚动菜单特效
2015/09/28 Javascript
js动态获取子复选项并设计全选及提交的实现方法
2016/06/24 Javascript
浅谈js算法和流程控制
2016/12/29 Javascript
js实现HTML中Select二级联动的实例
2018/01/05 Javascript
原生JavaScript实现remove()和recover()功能示例
2018/07/24 Javascript
微信小程序云开发使用方法新手初体验
2019/05/16 Javascript
js面试题之异步问题的深入理解
2020/09/20 Javascript
在vue中动态修改css其中一个属性值操作
2020/12/07 Vue.js
Python version 2.7 required, which was not found in the registry
2014/08/26 Python
python比较2个xml内容的方法
2015/05/11 Python
Python Series从0开始索引的方法
2018/11/06 Python
将Python文件打包成.EXE可执行文件的方法
2019/08/11 Python
Python安装whl文件过程图解
2020/02/18 Python
python实现发送QQ邮件(可加附件)
2020/12/23 Python
解决pycharm修改代码后第一次运行不生效的问题
2021/02/06 Python
银行学习十八大感想
2014/01/11 职场文书
2014年党员自我评议对照检查材料
2014/09/20 职场文书
2014年党员自我评议总结
2014/09/23 职场文书
教师先进事迹材料
2014/12/16 职场文书
2015年度学校卫生工作总结
2015/05/12 职场文书
离开雷锋的日子观后感
2015/06/09 职场文书
校运会通讯稿
2015/07/18 职场文书
表扬稿表扬信的格式及范文
2019/06/24 职场文书
仅用几行Python代码就能复制她的U盘文件?
2021/06/26 Python
Python中np.random.randint()参数详解及用法实例
2022/09/23 Python