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简化Ajax开发 Ajax开发入门
Oct 14 Javascript
javascript动态加载实现方法一
Aug 22 Javascript
JS 实现导航栏悬停效果(续2)
Sep 24 Javascript
js获取URL的参数的方法(getQueryString)示例
Sep 29 Javascript
基于jQuery倾斜打开侧边栏菜单特效代码
Sep 15 Javascript
基于JavaScript实现根据手机定位获取当前具体位置(X省X市X县X街道X号)
Dec 29 Javascript
jQuery基本过滤选择器用法示例
Sep 09 Javascript
将json转换成struts参数的方法
Nov 08 Javascript
JavaScript表单验证完美代码
Mar 02 Javascript
vue首次赋值不触发watch的解决方法
Sep 11 Javascript
JavaScript实现无限级递归树的示例代码
Mar 29 Javascript
Vue调用后端java接口的实例代码
Oct 28 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获取url的函数代码
2011/08/02 PHP
linux系统下php安装mbstring扩展的二种方法
2014/01/20 PHP
PHP中4个加速、缓存扩展的区别和选用建议
2014/03/12 PHP
JS中 用户登录系统的解决办法
2013/04/15 Javascript
JavaScript作用域与作用域链深入解析
2013/12/06 Javascript
iframe实用操作锦集
2014/04/22 Javascript
使用JavaScript进行进制转换将字符串转换为十进制
2014/09/21 Javascript
AngularJs根据访问的页面动态加载Controller的解决方案
2015/02/04 Javascript
JavaScript实现判断图片是否加载完成的3种方法整理
2015/03/13 Javascript
浅谈javascript的分号的使用
2015/05/12 Javascript
jquery读取xml文件实现省市县三级联动的方法
2015/05/29 Javascript
javascript禁止超链接跳转的方法
2016/02/02 Javascript
js动态生成form 并用ajax方式提交的实现方法
2016/09/09 Javascript
jQuery实现的仿百度,仿谷歌搜索下拉框效果示例
2016/12/30 Javascript
JS排序之快速排序详解
2017/04/08 Javascript
vue-cli如何添加less 以及sass
2017/07/06 Javascript
使用Node.js实现简易MVC框架的方法
2017/08/07 Javascript
layer弹出层取消遮罩的方法
2019/09/25 Javascript
IDEA配置jQuery, $符号不再显示黄色波浪线的问题
2020/10/09 jQuery
python实现文件分组复制到不同目录的例子
2014/06/04 Python
彻底理解Python中的yield关键字
2019/04/01 Python
Python实现连接MySql数据库及增删改查操作详解
2019/04/16 Python
安装docker-compose的两种最简方法
2019/07/30 Python
python实现连连看游戏
2020/02/14 Python
Django如何使用redis作为缓存
2020/05/21 Python
Python过滤掉numpy.array中非nan数据实例
2020/06/08 Python
安装不同版本的tensorflow与models方法实现
2021/02/20 Python
使用CSS实现阅读进度条
2017/02/27 HTML / CSS
CSS3使用transition实现的鼠标悬停淡入淡出
2015/01/09 HTML / CSS
HTML5 解析规则分析
2009/08/14 HTML / CSS
苹果香港官方商城:Apple香港
2016/09/14 全球购物
HR喜欢的自荐信格式
2013/10/08 职场文书
无故旷工检讨书
2014/01/26 职场文书
校长先进事迹材料
2014/02/01 职场文书
廉洁自律心得体会2016
2016/01/13 职场文书
Nginx服务器添加Systemd自定义服务过程解析
2021/03/31 Servers