码迷,mamicode.com
首页 > 编程语言 > 详细

js连接多个数组并删除重复的元素

时间:2016-01-30 02:46:39      阅读:143      评论:0      收藏:0      [点我收藏+]

标签:

js连接多个数组并删除重复的元素:
在实际应用中,可能需要将多个数组合并到一个数组中去,并且删除数组中重复的元素。
代码实例如下:

 

var a=["antzone","蚂蚁部落","市南区"], 
b=["新锐科技","蚂蚁部落","努力奋斗"], 
c=[2,"新锐科技","js教程"], 
_a=a.concat(b).concat(c), 
_hash={}, 
_new=[]; 
for(var i=_a.length;i--;)
{ 
  if(!_hash[_a[i]])
  { 
    _hash[_a[i]]=1; 
    _new.push(_a[i]); 
  }; 
}; 
console.log(_new)

 

以上代码实现了我们的要求,可以将三个数组连接起来,并且删除了重复的元素,下面介绍一下此效果的实现过程。
一.实现原理:
首先使用concat函数将几个数组连接在一起,然后再删除新数组中重复的元素,删除重复元素的方法其实非常的简单,就是将数组中的元素作为对象的属性,首先判断对象中如果没有此属性,如果没有的话,则将此值存入新的数组,然后再将此值作为对象的属性,如此重复,具体可以参阅代码注释。
二.代码注释:
1.var a=["antzone","蚂蚁部落","市南区"],使用直接量方式声明数组。
2._a=a.concat(b).concat(c),将数组连接为一个数组。
3._hash={},声明一个对象,此对象会以数组的元素作为属性。
4._new=[],声明一个新数组,用来存储删除重复后的元素。
5.for(var i=_a.length;i--;){},循环语句,这个写法等同于for(var i=_a.length;i>0i--;)。
6.if(!_hash[_a]),判断对象中是否含所有此属性。
7._hash[_a]=1,如果没有的话就添加此属性并将属性值设置为1,这里设置为1其实没有什么特别用以,虽然一个都可以。
8._new.push(_a),将此元素添加到新的数组。
三.相关阅读:
1.contact()函数可以参阅javascript的Array对象的concat()方法一章节。 
2.push()函数可以参阅javascript的Array对象的push()方法一章节。 

原文地址是:http://www.softwhy.com/forum.php?mod=viewthread&tid=11491

更多内容可以参阅:http://www.softwhy.com/javascript/

 

js连接多个数组并删除重复的元素

标签:

原文地址:http://www.cnblogs.com/zhadanren/p/5170402.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!