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 相关文章推荐
js批量设置样式的三种方法不推荐使用with
Feb 25 Javascript
js判断当前页面在移动设备还是在PC端中打开
Jan 06 Javascript
JS对象是否拥有某属性如何判断
Feb 03 Javascript
JS+html5 canvas实现的简单绘制折线图效果示例
Mar 13 Javascript
jquery版轮播图效果和extend扩展
Jul 18 jQuery
Vue 2.5 Level E 发布了: 新功能特性一览
Oct 24 Javascript
浅谈react-router HashRouter和BrowserRouter的使用
Dec 29 Javascript
angularjs下ng-repeat点击元素改变样式的实现方法
Sep 12 Javascript
angular6的table组件开发的实现示例
Dec 26 Javascript
vue实现编辑器键盘抬起时内容跟随光标距顶位置向上滚动效果
May 28 Javascript
vue项目使用$router.go(-1)返回时刷新原来的界面操作
Jul 26 Javascript
vue-cli+webpack项目打包到服务器后,ttf字体找不到的解决操作
Aug 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
骨王战斗力在公会成员中排不进前五,却当选了会长,原因竟是这样
2020/03/02 日漫
PHP 七大优势分析
2009/06/23 PHP
php 获取select下拉列表框的值
2010/05/08 PHP
探讨PHP使用eAccelerator的API开发详解
2013/06/09 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十)
2014/06/24 PHP
PHP微信开发之文本自动回复
2016/06/23 PHP
简单谈谈 php 文件锁
2017/02/19 PHP
laravel5表单唯一验证的实例代码
2019/09/30 PHP
6款经典实用的jQuery小插件及源码(对话框/提示工具等等)
2013/02/04 Javascript
开发中可能会用到的jQuery小技巧
2014/03/07 Javascript
JavaScript声明变量时为什么要加var关键字
2014/09/29 Javascript
Bootstrap每天必学之轮播(Carousel)插件
2016/04/25 Javascript
在JavaScript中模拟类(class)及类的继承关系
2016/05/20 Javascript
DOM 事件的深入浅出(一)
2016/12/05 Javascript
JS实现物体带缓冲的间歇运动效果示例
2016/12/22 Javascript
基于JavaScript实现图片剪切效果
2017/03/07 Javascript
JS组件系列之Gojs组件 前端图形化插件之利器
2017/11/29 Javascript
vue2.0之多页面的开发的示例
2018/01/30 Javascript
jQuery的Ajax接收java返回数据方法
2018/08/11 jQuery
微信小程序实现身份证取景框拍摄
2020/09/09 Javascript
浅谈es6中的元编程
2020/12/01 Javascript
你所不知道的Python奇技淫巧13招【实用】
2016/12/14 Python
Python实现变量数值交换及判断数组是否含有某个元素的方法
2017/09/18 Python
python和pygame实现简单俄罗斯方块游戏
2021/02/19 Python
基于Django ORM、一对一、一对多、多对多的全面讲解
2019/07/26 Python
Django框架 查询Extra功能实现解析
2019/09/04 Python
Python使用指定字符长度切分数据示例
2019/12/05 Python
python 实现多维数组(array)排序
2020/02/28 Python
python 用pandas实现数据透视表功能
2020/12/21 Python
canvas实现俄罗斯方块的方法示例
2018/12/13 HTML / CSS
小学生我的梦想演讲稿
2014/08/21 职场文书
关于环保的活动方案
2014/08/25 职场文书
2014年医药代表工作总结
2014/11/22 职场文书
前台文员岗位职责
2015/02/04 职场文书
会议开幕致辞怎么写
2016/03/03 职场文书
MySQL创建管理LIST分区
2022/04/13 MySQL