これ以上ナンセンスではありません。具体的な方法は次のとおりです:
方法 1: 新しい配列を返し、各ビットの型は変更されません
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"]
方法 2: 方法 1 と似ていますが、方法 1 の方が理解しやすいと思います
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"]
方法 3: 最初の 2 つよりも理解しやすいですが、返される新しい配列の各位置の数値型が文字列型に変わります。 !重大な瞬間に対処する必要があります
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 で配列から重複を削除するためにエディターが紹介した 3 つの方法です。お役に立てば幸いです。