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 相关文章推荐
jqPlot jquery的页面图表绘制工具
Jul 25 Javascript
TypeScript具有的几个不同特质
Apr 07 Javascript
JavaScript“尽快失败”的原则实例详解
Oct 08 Javascript
jquery广告无缝轮播实例
Jan 05 Javascript
webpack配置之后端渲染详解
Oct 26 Javascript
vue组件间通信子与父详解(二)
Nov 07 Javascript
关于js的三种使用方式(行内js、内部js、外部js)的程序代码
May 05 Javascript
VUE实现图片验证码功能
Nov 18 Javascript
vue el-table实现自定义表头
Dec 11 Javascript
如何实现js拖拽效果及原理解析
May 08 Javascript
如何使用vue slot创建一个模态框的实例代码
May 24 Javascript
在项目vue中使用echarts的操作步骤
Sep 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
正则表达式语法
2006/10/09 Javascript
php5.5中类级别的常量使用介绍
2013/10/02 PHP
php数字每三位加逗号的功能函数
2015/10/22 PHP
PHP 下载文件时如何自动添加bom头及解释BOM头和去掉bom头的方法
2016/01/04 PHP
Linux系统中为php添加pcntl扩展
2016/08/28 PHP
javascript function、指针及内置对象
2009/02/19 Javascript
在浏览器中获取当前执行的脚本文件名的代码
2011/07/19 Javascript
JQuery实现的按钮倒计时效果
2015/12/23 Javascript
浅谈Nodejs中的作用域问题
2016/12/26 NodeJs
基于jQuery实现弹幕APP
2017/02/10 Javascript
原生JS实现垂直手风琴效果
2017/02/19 Javascript
JavaScript 实现 Tab 点击切换实例代码
2017/03/25 Javascript
Vue列表页渲染优化详解
2017/07/24 Javascript
vue跨域解决方法
2017/10/15 Javascript
JS使用tofixed与round处理数据四舍五入的区别
2017/10/25 Javascript
node.js的exports、module.exports与ES6的export、export default深入详解
2017/10/26 Javascript
微信小程序解析富文本过程详解
2019/07/13 Javascript
layui table表格数据的新增,修改,删除,查询,双击获取行数据方式
2019/11/14 Javascript
js实现一款简单踩白块小游戏(曾经很火)
2019/12/02 Javascript
JS实现的定时器展示简单秒表、页面弹框及跳转操作完整示例
2020/01/26 Javascript
基于JavaScript实现表格隔行换色
2020/05/08 Javascript
Vue封装Axios请求和拦截器的步骤
2020/09/16 Javascript
解决vue-router 嵌套路由没反应的问题
2020/09/22 Javascript
深入理解Python中的super()方法
2017/11/20 Python
Django开发的简易留言板案例详解
2018/12/04 Python
python实现根据文件格式分类
2019/10/31 Python
基于python实现模拟数据结构模型
2020/06/12 Python
Nike英国官网:Nike.com (UK)
2017/02/13 全球购物
施华洛世奇天猫官方旗舰店:SWAROVSKI
2017/04/17 全球购物
Kingsoft金山公司C/C++笔试题
2016/05/10 面试题
小小的船教学反思
2014/02/21 职场文书
理发店策划方案
2014/06/05 职场文书
中学生清明节演讲稿
2015/03/18 职场文书
刑事上诉状范文
2015/05/22 职场文书
PostgreSQL解析URL的方法
2021/08/02 PostgreSQL
tomcat默认最大连接数及相关调整方法
2022/05/06 Servers