작업 19시간 대상, 인용 유형 - 코드 문제

3840 단어
1. 함수 getIntv를 써서 현재 시간에서 지정한 날짜까지의 간격을 가져옵니다
    var str=getIntv("2017-01-01");
    function getIntv(str){
        var during=Math.abs(Date.parse(str)-Date.now())/1000;// 
        var day=Math.floor(during/(24*3600));
        var hour=Math.floor((during-day*24*3600)/3600);
        var minute=Math.floor((during-day*24*3600-hour*3600)/60);
        var second=Math.floor(during-day*24*3600-hour*3600-minute*60);
        if(during<0){
            interval=" "+str+" "+day+"  "+hour+"  "+minute+"  "+second+"  ";
            return interval;
        }else{
            interval=" "+str+" "+day+"  "+hour+"  "+minute+"  "+second+"  ";
            return interval;
        }
    }
    console.log(str);// 2017-01-01 47  16  49  36  

2. 숫자 날짜를 중국어 날짜로 변경
    var str = getChsDate('2015-01-08');
    function getChsDate(str){
        var chstr=[" "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "]
        var time=new Date(str);
        var year=time.getFullYear()+"";
        var month=time.getMonth()+1+"";
        var date=time.getDate()+"";
        return  chstr[year[0]]+chstr[year[1]]+chstr[year[2]]+chstr[year[3]]+" "+chstr[month]+" "+chstr[date]+" "

    }
    console.log(str);  //  

3. 함수를 써서 n 일 전의 날짜를 가져옵니다
var lastWeek =  getLastNDays(7); // ‘2016-01-08’
    var lastMonth = getLastNDays(30); //'2015-12-15'
    function getLastNDays(num){
        var during= new Date(Date.now()-num*24*60*60*1000);
        var year=during.getFullYear()+"-";
        var month=during.getMonth()+1+"-";
        var date=during.getDate()
        return time=year+month+date;
        console.log(time);
    }
  • 다음과 같은 코드를 보완하여 실행 시간을 얻는 데 사용한다.
         var Runtime = (function(){
         var startTime,endTime,getTime;
         var obj = {
         start: function(){
           startTime=Date.now() // 
         },
      end: function(){
         endTime=Date.now() //  
         },
         get: function(){
           return getTime=(endTime-startTime)/1000+" "// 
         }
     };
     return obj;
     }());
     Runtime.start();
     for(var i=0;i<10000;i++){
         console.log(" ")
     }
     Runtime.end();
     console.log(Runtime.get());
    
  • 5.계단은 20레벨이 있는데 매번 1레벨이나 2레벨을 걸을 때마다 밑에서 꼭대기까지 걸어가는 방법은 모두 몇 가지입니까?코드(귀속)로 실현
  • 분석: 밑에서 n급으로 가는 방법은 f(n)종이 있다고 가정하고 n급으로 가는 방법은 두 가지가 있는데 하나는 (n-1)급에서 1걸음, 다른 하나는 (n-2)급에서 2걸음이다. 전자는 f(n-1)가지 방법이 있고 후자는 f(n-2)가지 방법이 있기 때문에 f(n)=f(n-1)+f(n-2), 그리고 f(0)=1, f(1)=1.
          function countMethod(n){
          if(n===1||n===0){
             return 1;
          }else{
              return countMethod(n-1)+countMethod(n-2);
          }
      }
      countMethod(20);//10946
    

  • 6. json 대상을 깊이 있게 복사하는 방법을 쓴다. json 대상은 여러 겹으로 끼워 넣을 수 있고 값은 문자열, 숫자, 볼, json 대상 중의 임의의 항목이 될 수 있다. (PS: 다른 방법을 시도해 보자. var obj2 = JSON.parse(JSON.stringify(obj1)
    function deepCopy(oldObj){
            var newObj=oldObj;
            if (oldObj&&typeof oldObj==="object") {
                newObj= Object.prototype.toString.call(oldObj)==="[object Array]"? []:{};
                for(var i in oldObj){
                    newObj[i]=deepCopy(oldObj[i]);
                }
            }
            return newObj;
        }
    
    function deepCopy(oldObj){
            var newObj=JSON.stringify(oldObj);
            return JSON.parse(newObj);
        }
    

    좋은 웹페이지 즐겨찾기