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 相关文章推荐
JavaScript 异步调用框架 (Part 5 - 链式实现)
Aug 04 Javascript
Easy.Ajax 部分源代码 支持文件上传功能, 兼容所有主流浏览器
Feb 24 Javascript
Jquery 数据选择插件Pickerbox使用介绍
Aug 24 Javascript
js限制textarea每行输入字符串长度的代码
Oct 31 Javascript
JS操作JSON要领详细总结
Aug 25 Javascript
JavaScript模拟实现继承的方法
Mar 30 Javascript
从零开始学习Node.js系列教程六:EventEmitter发送和接收事件的方法示例
Apr 13 Javascript
JS将网址url转化为JSON格式的方法
Jul 02 Javascript
JS实现判断图片是否加载完成的方法分析
Jul 31 Javascript
微信小程序使用gitee进行版本管理
Sep 20 Javascript
JS中验证整数和小数的正则表达式
Oct 08 Javascript
Vue修改项目启动端口号方法
Nov 07 Javascript
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者的疑难问答(2)
2006/10/09 PHP
PHP 得到根目录的 __FILE__ 常量
2008/07/23 PHP
php正则表达式验证(邮件地址、Url地址、电话号码、邮政编码)
2016/03/14 PHP
PHP通过加锁实现并发情况下抢码功能
2016/08/10 PHP
PHP 搜索查询功能实现
2016/11/29 PHP
thinkPHP5.0框架引入Traits功能实例分析
2017/03/18 PHP
extjs grid取到数据而不显示的解决
2008/12/29 Javascript
多种方法实现JS动态添加事件
2013/11/01 Javascript
Jqgrid设置全选(选择)及获取选择行的值示例代码
2013/12/28 Javascript
用队列模拟jquery的动画算法实例
2015/01/20 Javascript
Node.js静态服务器的实现方法
2018/02/28 Javascript
使用node打造自己的命令行工具方法教程
2018/03/26 Javascript
vue使用better-scroll实现下拉刷新、上拉加载
2018/11/23 Javascript
Layui 动态禁止select下拉的例子
2019/09/03 Javascript
[05:46]DOTA2英雄梦之声_第18期_陈
2014/06/20 DOTA
Python urlopen 使用小示例
2008/09/06 Python
在Linux上安装Python的Flask框架和创建第一个app实例的教程
2015/03/30 Python
Python多线程编程简单介绍
2015/04/13 Python
python清除字符串中间空格的实例讲解
2018/05/11 Python
python实现寻找最长回文子序列的方法
2018/06/02 Python
解决python3 HTMLTestRunner测试报告中文乱码的问题
2018/12/17 Python
python根据url地址下载小文件的实例
2018/12/18 Python
pandas数据集的端到端处理
2019/02/18 Python
python的pygal模块绘制反正切函数图像方法
2019/07/16 Python
python3.6连接mysql数据库及增删改查操作详解
2020/02/10 Python
python3爬虫中异步协程的用法
2020/07/10 Python
Python变量格式化输出实现原理解析
2020/08/06 Python
纯css3制作的火影忍者写轮眼开眼至轮回眼及进化过程实例
2014/11/11 HTML / CSS
HTML5样式控制示例代码
2013/11/27 HTML / CSS
查摆问题自我剖析材料
2014/08/18 职场文书
老人节标语大全
2014/10/08 职场文书
上市公司财务总监岗位职责
2015/04/03 职场文书
2016入党培训心得体会范文
2016/01/08 职场文书
详解TS数字分隔符和更严格的类属性检查
2021/05/06 Javascript
JavaScript如何利用Promise控制并发请求个数
2021/05/14 Javascript
redis内存空间效率问题的深入探究
2021/05/17 Redis