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选择器中含有空格的使用示例及注意事项
Aug 25 Javascript
jQuery prototype冲突的2种解决方法(附demo示例下载)
Jan 21 Javascript
JS字符串的切分用法实例
Feb 22 Javascript
Angularjs实现多个页面共享数据的方式
Mar 29 Javascript
用js实现放大镜的效果的简单实例
May 23 Javascript
BootStrap注意事项小结(五)表单
Mar 10 Javascript
knockoutjs模板实现树形结构列表
Jul 31 Javascript
vue使用$emit时,父组件无法监听到子组件的事件实例
Feb 26 Javascript
JavaScript求一组数的最小公倍数和最大公约数常用算法详解【面向对象,回归迭代和循环】
May 07 Javascript
Vue.js实现双向数据绑定方法(表单自动赋值、表单自动取值)
Aug 27 Javascript
JavaScript 如何在浏览器中使用摄像头
Dec 02 Javascript
小程序自定义轮播图圆点组件
Jun 25 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
CI框架入门示例之数据库取数据完整实现方法
2014/11/05 PHP
PHP连接MySQL进行增、删、改、查操作
2017/02/19 PHP
php插入mysql数据返回id的方法
2018/05/31 PHP
thinkphp3.2框架中where条件查询用法总结
2019/08/13 PHP
PHP调用接口API封装的例子
2019/10/11 PHP
jquery随意添加移除html的实现代码
2011/06/21 Javascript
js中判断文本框是否为空的两种方法
2011/07/31 Javascript
基于JQUERY的多级联动代码
2012/01/24 Javascript
让js弹出窗口居前显示的实现方法
2013/07/10 Javascript
JavaScript原型链示例分享
2014/01/26 Javascript
angularjs实现与服务器交互分享
2014/06/24 Javascript
jQuery网页选项卡插件rTabs用法实例分析
2015/08/26 Javascript
jQuery实现的精美平滑二级下拉菜单效果代码
2016/03/28 Javascript
聊一聊JS中this的指向问题
2016/06/17 Javascript
网页挂马方式整理及详细介绍
2016/11/03 Javascript
微信小程序 表单Form实例详解(附源码)
2016/12/22 Javascript
JS优化与惰性载入函数实例分析
2017/04/06 Javascript
js 获取html5的data属性实现方法
2017/07/28 Javascript
JavaScript中正则表达式使数字、中文或指定字符高亮显示
2017/10/31 Javascript
详解vue2.0+axios+mock+axios-mock+adapter实现登陆
2018/07/19 Javascript
Vue使用NProgress的操作过程解析
2019/10/10 Javascript
js实现石头剪刀布游戏
2020/10/11 Javascript
[01:10]DOTA2英雄背景故事第四期之混沌法则混沌骑士
2020/07/16 DOTA
python/sympy求解矩阵方程的方法
2018/11/08 Python
在Python中使用Neo4j的方法
2019/03/14 Python
Python实现插入排序和选择排序的方法
2019/05/12 Python
Python统计学一数据的概括性度量详解
2020/03/03 Python
python 比较字典value的最大值的几种方法
2020/04/17 Python
医学毕业生自荐信
2013/10/11 职场文书
优秀应届生推荐信
2013/11/09 职场文书
房产委托公证书
2014/04/08 职场文书
大学新生军训自我鉴定
2014/09/18 职场文书
2014年心理健康教育工作总结
2014/12/06 职场文书
求职自我评价范文
2015/03/09 职场文书
火烧圆明园的观后感
2015/06/03 职场文书
深入浅析Django MTV模式
2021/09/04 Python