這里介紹2中方式:
js代碼如下
var arr=[1,7,3,2,1,4,12,3,"3",3] function compare(arr) { var result = [], isfl; for (var i = 0; i < arr.length; i++) { isfl= false; for (var j = 0; j < result.length; j++) { if (arr[i] ===result[j]) { isfl = true; break; } } if (!isfl) { result.push(arr[i]); } } return result; } var dw=[]; dw=compare(arr); console.log(dw); function compare2(arr) { var result = [], hash = {},type="",item; for (var i = 0; i<arr.length; i++) { item = arr[i]; type = typeof(item); if (!hash[item+type]) { result.push(item); hash[item+type] = true; } } return result; } var dw2=compare2(arr); console.log(dw2);
注意:因為存在類型不同所以要用===,而第二種方式中,hash()只比較值,不比較其類型,所以需要單獨抽出其類型,一起比較。才能達到所需目的
效果如圖顯示: