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));
    
  • 相关阅读:
    sql 同一行中,不同结果在不同列显示
    用jstl的if或when标签判断字符串是否为空
    RESTful 接口规范
    HTTP协议详解
    easyui datagrid 去除单击行选中事件
    easyui datagrid 选中行效果
    Nodejs
    VMware 中的win7虚拟机在一段时间后就会自动挂起
    Vmware 安装 ghost 版 win 7
    idea tomcat 乱码问题的解决及相关设置
  • 原文地址:https://www.cnblogs.com/zhangwenkan/p/4248729.html
Copyright © 2011-2022 走看看