JavaScript 拼接多个数组并删除重复元素

2019-6-5 17:06| 作者: antzone| 查看: 1028| 评论: 0|来自: 钱柜手机网页版

在实际应用中,可能需要将多个数组合并到一个数组中去,并且删除数组中重复的元素。

代码实例如下:

[JavaScript] 纯文本查看 复制代码运行代码
var a=["antzone","钱柜手机网页版","市南区"], 
b=["新锐科技","钱柜手机网页版","努力奋斗"], 
c=[2,"新锐科技","js教程"], 
_a=a.concat(b).concat(c), 
_hash={}, 
_new=[]; 
for(var i=_a.length;i--;){ 
  if(!_hash[_a]){ 
    _hash[_a]=1; 
    _new.push(_a); 
  }; 
}; 
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 concat()一章节。 

(2).push()方法参阅JavaScript push()一章节。


鲜花

握手

雷人

路过

鸡蛋

最新评论

返回顶部