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 - HTML的request类
Jul 15 Javascript
javascript显示选择目录对话框的代码
Nov 10 Javascript
Riot.js 快速的JavaScript单元测试框架
Nov 09 Javascript
使用滤镜设置透明导致 IE 6/7/8/9 解析异常的解决方法
Apr 07 Javascript
js播放wav文件(源码)
Apr 22 Javascript
基于jquery的文字向上跑动类似跑马灯的效果
Sep 22 Javascript
js实现文本框支持加减运算的方法
Aug 19 Javascript
javascript 定时器工作原理分析
Dec 03 Javascript
vue页面使用阿里oss上传功能的实例(一)
Aug 09 Javascript
详解vue+css3做交互特效的方法
Nov 20 Javascript
微信小程序实现蒙版弹窗效果
Nov 01 Javascript
微信小程序中转义字符的处理方法
Mar 28 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中通过ADODB库实现调用Access数据库之修正版本
2006/12/31 PHP
ThinkPHP模板引擎之导入资源文件方法详解
2014/06/18 PHP
ThinkPHP使用PHPExcel实现Excel数据导入导出完整实例
2014/07/22 PHP
PHP针对常规模板引擎中与CSS/JSON冲突的解决方法
2014/08/19 PHP
Yii调试查看执行SQL语句的方法
2016/07/15 PHP
php简单构造json多维数组的方法示例
2017/06/08 PHP
PHP数组内存利用率低和弱类型详细解读
2017/08/10 PHP
php实现多站点共用session实现单点登录的方法详解
2019/09/18 PHP
高亮显示web页表格行的javascript代码
2010/11/19 Javascript
JavaScript高级程序设计(第3版)学习笔记6 初识js对象
2012/10/11 Javascript
使用AngularJS和PHP的Laravel实现单页评论的方法
2015/06/19 Javascript
js 右侧浮动层效果实现代码(跟随滚动)
2015/11/22 Javascript
javascript html5轻松实现拖动功能
2017/03/01 Javascript
vue.js系列中的vue-fontawesome使用
2018/02/10 Javascript
element-ui多文件上传的实现示例
2019/04/10 Javascript
Vue开发之封装上传文件组件与用法示例
2019/04/25 Javascript
js定义类的方法示例【ES5与ES6】
2019/07/30 Javascript
修改vue源码实现动态路由缓存的方法
2020/01/21 Javascript
微信小程序自定义navigationBar顶部导航栏适配所有机型(附完整案例)
2020/04/26 Javascript
vue中父子组件的参数传递和应用示例
2021/01/04 Vue.js
Python中用于计算对数的log()方法
2015/05/15 Python
学习Python3 Dlib19.7进行人脸面部识别
2018/01/24 Python
Python读取mat文件,并保存为pickle格式的方法
2018/10/23 Python
python实现图书借阅系统
2019/02/20 Python
利用pandas将非数值数据转换成数值的方式
2019/12/18 Python
Python实现动态循环输出文字功能
2020/05/07 Python
Python filter过滤器原理及实例应用
2020/08/18 Python
详解使用python爬取抖音app视频(appium可以操控手机)
2021/01/26 Python
香蕉共和国Banana Republic官网:美国GAP旗下偏贵族风格服饰品牌
2016/11/21 全球购物
别名指示符是什么
2012/10/08 面试题
师范大学毕业自我鉴定
2013/11/21 职场文书
《走一步再走一步》教学反思
2014/02/15 职场文书
个人作风建设心得体会
2014/10/22 职场文书
刑事起诉书范文
2015/05/19 职场文书
小学三年级语文教学反思
2016/03/03 职场文书
win10此电脑打不开怎么办 win10双击此电脑无响应的解决办法
2022/07/23 数码科技