方法一:用关联数组的方式
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>数组去重</title>
</head>
<body>
<script type="text/javascript">
//使用关联数组的方式
function tow(arr){
for(var i =0 , hash = [],result = [] ; i<arr.length;i++)
{//遍历arr,从0开始,同时创建hash空数组,再创建一个resul空数组
if (hash[arr[i]]===undefined ) {
//把arr数组中的元素和hash关联数组的自定义下表名称,逐个去比较,
//如果arr中的i个元素与当前hash数组的当前的自定义下标不一样,程序就会自动返回undefined
result[result.length]= arr[i];
// 如果返回undefined,就把arr中当前的i元素赋值给当前的hash数组
hash[arr[i]] = "我是哈希数组里面的数呀";
}
}
return result;
}
var arry = [1,2,7,8,7,74,5,2,7,4,];
console.log(tow(arry))
</script>
</body>
</html>
方法二:创建一个新数组,arr每想向result中放入一个元素就和result中的元素进行比较
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>数组去重</title>
</head>
<body>
<script type="text/javascript">
function tow(arr){
var repeat = arr[0];
var result = [];
//i从0开始遍历arr,同时创建空数组resu()没有重复的元素放入这个数组
for(var i = 0; i<arr.length;i++){
// 遍历resul j从0开始
for(var j=0;j<result.length;j++)
{ //如果result中的当前元素等于arr中的当前元素
if (result[j] == arr[i]) {
break;//退出循环
}
}
// 如果j等于result的长度
if (j==result.length) {
result[result.length] = arr[i];
}
//江arr中当前元素,最佳到result末尾
}
return result;
}
var arry = [1,2,7,8,7,74,5,2,7,4,];
console.log(tow(arry))
</script>
</body>
</html>