/*开关思想
1.当某种情况的结果只有两种情况(开关思想,声明一个布尔类型的值表示开关)
2.随便假设开关一种状态
3.验证你的状态
*/
/*
下面以数组去重为例
*/
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script>
var arr = [20,25,66,78,25,66,39];//【20,25,66,78,39】
//1.声明一个空数组,存储不重复的元素
var newArr = [];
//2.遍历arr
for(var i = 0;i<arr.length;i++){
//3.检查arr[i]是否在newArr中,如果不在就添加,在就不添加(结果只有两种情况,要么在,要么不在)
var canAdd = true;//假设可以添加
/*遍历newArr,看newArr中是否有元素与arr[i]相等
*/
for(var j = 0;j<newArr.length;j++){//验证开关的状态
if(newArr[j] == arr[i]){
//arr[i]在newArr中,此时不添加
canAdd = false;
break;//只要有重复元素,后面元素没有比较的必要
}
}
if(canAdd == true){//如果开关状态是true,则添加
newArr[newArr.length] = arr[i];
}
}
console.log ( newArr );
/*开关思想
1.当某种情况的结果只有两种情况(开关思想,声明一个布尔类型的值表示开关)
2.随便假设开关一种状态
3.验证你的状态
*/
</script>
</body>
</html>