js在数组中删除重复的元素自保留一个(两种实现思路)


Posted in Javascript onAugust 22, 2014

例如:var student = [‘qiang','ming','tao','li','liang','you','qiang','tao'];

第一种思路是:遍历要删除的数组arr, 把元素分别放入另一个数组tmp中,在判断该元素在arr中不存在才允许放入tmp中

用到两个函数:for ...in 和 indexOf()

<script type="text/javascript"> 
var student = ['qiang','ming','tao','li','liang','you','qiang','tao'];
function unique(arr){
// 遍历arr,把元素分别放入tmp数组(不存在才放)
var tmp = new Array();
for(var i in arr){
//该元素在tmp内部不存在才允许追加
if(tmp.indexOf(arr[i])==-1){
tmp.push(arr[i]);
}
}
return tmp;
}

</script>

第二种思路是:把目标数组arr的元素值和键的位置调换 自动就把重复的元素给删除掉了,调换后的样子:array('qiang'=>1,'ming'=>1,'tao'=>1)

<script type="text/javascript">
var student = ['qiang','ming','tao','li','liang','you','qiang','tao'];
function unique(arr){
var tmp = new Array();

for(var m in arr){
tmp[arr[m]]=1;
}
//再把键和值的位置再次调换
var tmparr = new Array();

for(var n in tmp){
tmparr.push(n);
}
return tmparr;
}
</script>
Javascript 相关文章推荐
jquery $.ajax入门应用二
Nov 19 Javascript
button没写type=button会导致点击时提交
Mar 06 Javascript
jQuery中append()方法用法实例
Jan 08 Javascript
javascript实现网页背景烟花效果的方法
Aug 06 Javascript
Javascript数组循环遍历之forEach详解
Nov 07 Javascript
angularjs使用directive实现分页组件的示例
Feb 07 Javascript
微信小程序 弹框和模态框实现代码
Mar 10 Javascript
Javascript操作dom对象之select全面解析
Apr 24 Javascript
浅谈React之状态(State)
Sep 19 Javascript
Vue props中Object和Array设置默认值操作
Jul 30 Javascript
vue render函数动态加载img的src路径操作
Oct 26 Javascript
原生JS封装vue Tab切换效果
Apr 28 Vue.js
js获取input长度并根据页面宽度设置其大小及居中对齐
Aug 22 #Javascript
js使用正则实现ReplaceAll全部替换的方法
Aug 22 #Javascript
IE浏览器IFrame对象内存不释放问题解决方法
Aug 22 #Javascript
js中实现多态采用和继承类似的方法
Aug 22 #Javascript
js中运算符&amp;&amp; 和 || 的使用记录
Aug 21 #Javascript
字段太多jquey快速清空表单内容方法
Aug 21 #Javascript
jQuery .tmpl() 用法示例介绍
Aug 21 #Javascript
You might like
关于PHP语言构造器介绍
2013/07/08 PHP
CodeIgniter错误mysql_connect(): No such file or directory解决方法
2014/09/06 PHP
php获取字符串中各个字符出现次数的方法
2015/02/23 PHP
PHP获取文件夹大小函数用法实例
2015/07/01 PHP
PHP函数import_request_variables()用法分析
2016/04/02 PHP
ThinkPHP框架实现导出excel数据的方法示例【基于PHPExcel】
2018/05/12 PHP
分页栏的web标准实现
2011/11/01 Javascript
浅谈javascript六种数据类型以及特殊注意点
2013/12/20 Javascript
对于Form表单reset方法的新认识
2014/03/05 Javascript
js函数模拟显示桌面.scf程序示例
2014/04/20 Javascript
JavaScript中的acos()方法使用详解
2015/06/14 Javascript
Ionic实现页面下拉刷新(ion-refresher)功能代码
2016/06/03 Javascript
jQuery实现的简单拖拽功能示例
2016/09/13 Javascript
JS中parseInt()和map()用法分析
2016/12/16 Javascript
实例详解display:none与visible:hidden的区别
2017/03/30 Javascript
微信小程序开发图片拖拽实例详解
2017/05/05 Javascript
JS中‘hello’与new String(‘hello’)引出的问题详解
2018/08/14 Javascript
详解nuxt路由鉴权(express模板)
2018/11/21 Javascript
解决vue单页面 回退页面 keeplive 缓存问题
2020/07/22 Javascript
解决vue2中使用elementUi打包报错的问题
2020/09/22 Javascript
python中cPickle用法例子分享
2014/01/03 Python
Python微信库:itchat的用法详解
2017/08/14 Python
Python3中条件控制、循环与函数的简易教程
2017/11/21 Python
详解Python3.6安装psutil模块和功能简介
2018/05/30 Python
已安装tensorflow-gpu,但keras无法使用GPU加速的解决
2020/02/07 Python
详解scrapy内置中间件的顺序
2020/09/28 Python
德国药房apodiscounter中文官网:德国排名前三的网上药店
2019/06/03 全球购物
存储过程的优缺点是什么
2015/01/10 面试题
新闻记者实习自我鉴定
2013/09/19 职场文书
《藏戏》教学反思
2014/02/11 职场文书
房屋租赁协议书范本
2014/04/10 职场文书
致共产党员倡议书
2014/04/16 职场文书
教师业务学习材料
2014/12/16 职场文书
党支部工作总结2015
2015/04/01 职场文书
2015年社区消防安全工作总结
2015/10/14 职场文书
2016年中秋节慰问信
2015/12/01 职场文书