No more nonsense, the specific method is as follows:
Method 1: Return the new array and the type of each bit remains unchanged
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"]
Method 2: Similar to method 1, but I think method 1 is easier to understand
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"]
Method 3: Easier to understand than the first two, but the number type of each position in the returned new array changes to string type! ! Critical moments have to be dealt with
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"]
The above are the three methods that the editor introduced to you to remove duplicates from arrays in JavaScript. I hope it will be helpful to you!