方法一:返回新数组每个位子类型没变
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中数组去除重复的三种方法,希望对大家有所帮助!
js去重复
原文地址:https://www.cnblogs.com/wangliko/p/8280501.html