方法一:返回新数组每个位子类型没变
1
2
3
4
5
6
7
8
9
10
11
12
|
function outRepeat(a){ var hash=[],arr=[]; for ( var i = 0; i < a.length; i++) { hash[a[i]]!= null ; if (!hash[a[i]]){ arr.push(a[i]); hash[a[i]]= true ; } } console.log(arr); } outRepeat([2,4,4,5, "a" , "a" ]); //[2, 4, 5, "a"] |
方法二:类似于法一,但本农觉着法一更易于理解
1
2
3
4
5
6
7
8
9
10
11
|
function outRepeat(a){ var hash=[],arr=[]; for ( var i = 0,elem;(elem=a[i])!= null ; i++) { if (!hash[elem]){ arr.push(elem); hash[elem]= true ; } } console.log(arr); } outRepeat([2,4,4,5, "a" , "a" ]); //[2, 4, 5, "a"] |
方法三:比前两个更易于理解但是返回的新数组每个位子的number类型变为string类型了!!关键时刻得处理
1
2
3
4
5
6
7
8
9
10
11
|
function outRepeat(a){ var hash=[],arr=[]; for ( var i = 0; i < a.length; i++) { hash[a[i]]= null ; } for ( var key in hash){ arr.push(key); } console.log(arr); } outRepeat([2,4,4,5, "a" , "a" ]); //["2", "4", "5", "a"] |
以上是小编给大家介绍的JavaScript中数组去除重复的三种方法,希望对大家有所帮助!