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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js连接多个数组并删除重复的元素相关的知识,希望对你有一定的参考价值。

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连接多个数组并删除重复的元素的主要内容,如果未能解决你的问题,请参考以下文章

js去掉数组中重复的元素

js数组对象操作

如何在js中删除数组的最后一个元素[重复]

js的学习 (数组)

js 删除数组中多个元素

如何去掉一个数组的重复元素:数组去重