zoukankan      html  css  js  c++  java
  • 限制条件补全代码系列题

    题目一.a和b两个变量,不用第三个变量来切换两个变量值

    var a=5;
    var b=6;
    a=a+b;
    b=a-b;
    a=a-b;
    alert(a);
    alert(b);
    

    题目二.有一个数n=5,不用for循环,怎样返回[1,2,3,4,5]这样的数组

    方法一.用递归来进行遍历

    var n=5;
    function show(){
    	var arr=[];
    	return (function(){
            arr.unshift(n);
            n--;
            if(n!=0){
            	arguments.callee();
            }
            return arr;
    	})();	
    }
    alert(show(n));
    

    方法二.用正则来匹配模拟次数

    var n=5;
    var arr=[];
    arr.length=n+1;  
    var arr2=[];
    var str=arr.join("a");     中间连接符用a,要六个数才五个逗号,所以length=n+1
    var re=/a/g;
    str.replace(re,function(){
    	arr2.unshift(n--);
    });
    alert(arr2);
    

    题目三.一个数n,当n<100就返回n,否则返回100,但是不能用if else、三目、switch等

    方法一.Math.min

    var n=150;
    function show(){
    	return Math.min(n,100);
    }
    alert(show(n));
    

    方法二.用数组排序

    var n=50;
    function show(){
    	var arr=[n,100];
    	arr.sort();
    	return arr[0];
    }
    alert(show(n));
    

    方法三.根据数字转字符串后的长度判断,用到for循环,如果长度小于3,就返回自身,大于等于3就返回100

    var n=150;
    function show(){
    	var str="n";
    	for(;str.length<3;){
             return n;
    	}
    	for(;str.length>=3;){
             return 100;
    	}
    }
    alert(show(n));
    

    方法四.json

    var n=50;
    function show(){
    	var json={};
    	var m=n<100||json;        //m是布尔值
    	for(var attr in m){
    		return 100;
    	}
    	return n;
    }
    alert(show(n));
    
  • 相关阅读:
    MySQL的语句执行顺序
    mysql 基本使用
    spring 事务详解
    java 设计模式
    hibernate 简单查询
    qwq(一些有趣的数学题)
    关于libra9z
    HDU6756 Finding a MEX
    CF1386C Joker
    CF1340F Nastya and CBS
  • 原文地址:https://www.cnblogs.com/zhangwenkan/p/4248729.html
Copyright © 2011-2022 走看看