开关思想

/*开关思想
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>

猜你喜欢

转载自blog.csdn.net/zjhzjh893/article/details/81707934