核心提示:数组去除重复的代码实现教程!DOCTYPE htmlhtml lang=enheadmeta charset=UTF-8meta name=viewport content=width=device-...
数组去除重复的代码实现教程
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>数组去除重复</title>
</head>
<body>
<script>
//方法1;效率低的脏检查办法,
let arr = [11, 22, 33, 44, 11];
let newArr = [];
// let len = arr.length;
// for(let i = 0 ;i<len;i++){
// let f = 0 ;
// for(let j = i+1;j<len;j++){
// if(arr[i] == arr[j]){
// f = 1;
// }
// }
// if(f == 0 ){
// newArr.push(arr[i]);
// }
// }
// console.log(newArr);
//方法2 双层for循环
var arr = [3, 4, 6, 32, 2, 3, 4, 57, 57, 6];
var result = [];
for (var i = 0; i < arr.length; i++) {
for (var j = 0; j < result.length; j++) {
//如果遇见相同的数字,立即终止内层循环
if (arr[i] == result[j]) break;
}
//验收,看看是不是result中的每一项都不等于arr[i]
if (j == result.length) {
result.push(arr[i]);
}
}
console.log(result);
//方法3内置sort
// var arr = [3,4,6,32,2,3,4,57,6];
// arr.sort(function(a,b){return a - b;});
// console.log(arr)
//方法4 利用对象去除重复;
// var arr = [3, 4, 6, 32, 0, 0, 0, 2, 3, 4, 57, 6];
// var temp = {};
// var result = [];
// for (var i = 0; i < arr.length; i++) {
// if (!temp.hasOwnProperty(arr[i])) {
// result.push(arr[i]);
// temp[arr[i]] = 1;
// }
// }
// console.log(result);
// console.log(temp);
</script>
</body>
</html>


