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的下拉框改变动态添加和删除表格实现代码
Sep 12 Javascript
JQuery DataTable删除行后的页面更新利用Ajax解决
May 17 Javascript
解析JavaScript中的标签语句
Jun 19 Javascript
jQuery操作select下拉框的text值和value值的方法
May 31 Javascript
2014 HTML5/CSS3热门动画特效TOP10
Dec 07 Javascript
AngularJS学习笔记之TodoMVC的分析
Feb 22 Javascript
使用jQuery实现图片遮罩半透明坠落遮挡
Mar 16 Javascript
javascript用函数实现对象的方法
May 14 Javascript
快速掌握Node.js事件驱动模型
Mar 21 Javascript
jquery UI Datepicker时间控件的使用及问题解决
Apr 28 Javascript
微信小程序通过保存图片分享到朋友圈功能
May 24 Javascript
详解Vue CLI 3.0脚手架如何mock数据
Nov 23 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实现CSV文件的导入和导出类
2015/03/24 PHP
简单解决新浪SAE无法上传文件的问题
2015/05/13 PHP
laravel实现上传图片并在页面显示的例子
2019/10/14 PHP
ASP中用Join和Array,可以加快字符连接速度的代码
2007/08/22 Javascript
优化 JavaScript 代码的方法小结
2009/07/16 Javascript
Javascript结合css实现网页换肤功能
2009/11/02 Javascript
鼠标经过tr时,改变tr当前背景颜色
2014/01/13 Javascript
jQuery setTimeout传递字符串参数报错的解决方法
2014/06/09 Javascript
jquery插件之文字间歇自动向上滚动效果代码
2016/02/25 Javascript
jquery easyui DataGrid简单示例
2017/01/23 Javascript
Bootstrap多级菜单的实现代码
2017/05/23 Javascript
JavaScript实现设置默认日期范围为最近40天的方法分析
2017/07/12 Javascript
解决Vue使用mint-ui loadmore实现上拉加载与下拉刷新出现一个页面使用多个上拉加载后冲突问题
2017/11/07 Javascript
利用vscode调试编译后的js代码详解
2018/05/14 Javascript
webstorm中配置nodejs环境及npm的实例
2018/05/15 NodeJs
angularJs中json数据转换与本地存储的实例
2018/10/08 Javascript
webpack4+react多页面架构的实现
2018/10/25 Javascript
微信小程序局部刷新触发整页刷新效果的实现代码
2018/11/21 Javascript
angular4自定义组件非input元素实现ngModel双向数据绑定的方法
2018/12/28 Javascript
详解基于Vue/React项目的移动端适配方案
2019/08/23 Javascript
Vue中qs插件的使用详解
2020/02/07 Javascript
python+opencv实现的简单人脸识别代码示例
2017/11/14 Python
Python装饰器(decorator)定义与用法详解
2018/02/09 Python
Keras之fit_generator与train_on_batch用法
2020/06/17 Python
python opencv pytesseract 验证码识别的实现
2020/08/28 Python
python两种注释用法的示例
2020/10/09 Python
初中美术教学反思
2014/01/29 职场文书
护士毕业生自荐信
2014/02/07 职场文书
聚美优品广告词改编
2014/03/14 职场文书
活动总结范文
2014/08/30 职场文书
企业领导班子四风对照检查材料
2014/09/27 职场文书
自愿离婚协议书范文2014
2014/10/12 职场文书
临时用工协议书范本
2014/10/29 职场文书
《穷人》教学反思
2016/02/19 职场文书
再谈python_tkinter弹出对话框创建
2022/03/20 Python
Spring Cloud Netflix 套件中的负载均衡组件 Ribbon
2022/04/13 Java/Android