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操作checkbox用document.getElementById实现
Oct 12 Javascript
jQuery+css实现的切换图片功能代码
Jan 27 Javascript
jQuery实现的无缝广告图片左右滚动功能详解
Dec 24 Javascript
微信小程序checkbox组件使用详解
Jan 31 Javascript
vue2 前端搜索实现示例
Feb 26 Javascript
vue组件与复用详解
Apr 08 Javascript
Vue封装的可编辑表格插件方法
Aug 28 Javascript
jQuery超简单遮罩层实现方法示例
Sep 06 jQuery
LayUi数据表格自定义赋值方式
Oct 26 Javascript
JS实现表单中点击小眼睛显示隐藏密码框中的密码
Apr 13 Javascript
详解JavaScript中的Object.is()与&quot;===&quot;运算符总结
Jun 17 Javascript
解决nuxt页面中mounted、created、watch执行两遍的问题
Nov 05 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
全国FM电台频率大全 - 30 宁夏回族自治区
2020/03/11 无线电
PHP 使用header函数设置HTTP头的示例解析 表头
2013/06/17 PHP
php获取访问者IP地址汇总
2015/04/24 PHP
JavaScript Date对象使用总结
2009/05/14 Javascript
ExtJs GridPanel简单的增删改实现代码
2010/08/26 Javascript
jquery自定义类似$.ajax()的方法实现代码
2013/08/13 Javascript
点击进行复制的JS代码实例
2013/08/23 Javascript
js中的referrer返回上一页使用介绍
2013/09/26 Javascript
限制textbox或textarea输入字符长度的JS代码
2013/10/16 Javascript
javascript创建数组之联合数组的使用方法示例
2013/12/26 Javascript
javascript获取dom的下一个节点方法
2014/09/05 Javascript
javascript浏览器窗口之间传递数据的方法
2015/01/20 Javascript
JQuery实现可直接编辑的表格
2015/04/16 Javascript
JavaScript中的setUTCDate()方法使用详解
2015/06/11 Javascript
Backbone中View之间传值的学习心得
2016/08/09 Javascript
js实现unicode码字符串与utf8字节数据互转详解
2019/03/21 Javascript
微信小程序实现单个卡片左滑显示按钮并防止上下滑动干扰功能
2019/12/06 Javascript
Vue组件模板的几种书写形式(3种)
2020/02/19 Javascript
在Python的struct模块中进行数据格式转换的方法
2015/06/17 Python
Python实现的手机号归属地相关信息查询功能示例
2017/06/08 Python
tensorflow训练中出现nan问题的解决
2018/02/10 Python
Python数据分析matplotlib设置多个子图的间距方法
2018/08/03 Python
对Python实现累加函数的方法详解
2019/01/23 Python
Python合并2个字典成1个新字典的方法(9种)
2019/12/19 Python
Django 限制访问频率的思路详解
2019/12/24 Python
通过实例解析python描述符原理作用
2020/01/22 Python
Python virtualenv虚拟环境实现过程解析
2020/04/18 Python
python字典通过值反查键的实现(简洁写法)
2020/09/30 Python
利用HTML5的新特点实现图片文件异步上传
2014/05/29 HTML / CSS
施华洛世奇中国官网:SWAROVSKI中国
2020/06/16 全球购物
测绘工程本科生求职信
2013/10/10 职场文书
幼儿园教师奖惩制度
2014/02/01 职场文书
模具专业毕业推荐信
2014/03/08 职场文书
借名购房协议书范本
2014/10/06 职场文书
校本研修个人总结
2015/02/28 职场文书
windows server 2012安装FTP并配置被动模式指定开放端口
2022/06/10 Servers