Math數(shù)組Date

一酬屉、Math

1、寫一個函數(shù)杀饵,返回從min到max之間的 隨機整數(shù)垛吗,包括min不包括max

Math.random();//返回一個大于等于0烁登,小于1的偽隨機數(shù)。

1. function getRandom(min,max){
        return min+(Math.random()*(max-min));
    }

2锨络、寫一個函數(shù)狼牺,返回從min都max之間的 隨機整數(shù),包括min包括max

function getRandomInt(min, max) {
  return Math.floor(Math.random() * (max - min +1) + min);
}

3是钥、寫一個函數(shù),生成一個長度為 n 的隨機字符串虏冻,字符串字符的取值范圍包括0到9弹囚,a到 z,A到Z鸥鹉。

function getRandStr(len){
      var dist='0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXZY';
      var str='';
      for(var i=0;i<len;i++){
         var index=Math.floor(Math.random()*62);
         var  ch=dist[index];
          str+=ch;
      }
      return str;
  }
  var str = getRandStr(10); // 0a3iJiRZap
    console.log(str);

4毁渗、寫一個函數(shù),生成一個隨機 IP 地址灸异,一個合法的 IP 地址為 0.0.0.0~255.255.255.255

  function getRandIP(){
     var arr=new Array(4);
      for(var i=0;i<arr.length;i++){
          arr[i]=Math.floor(Math.random()*256);//IP地址能包括255嗎?
      }
      var str=arr.join(".");
      return str;
  }
  var ip = getRandIP()
  console.log(ip) // 10.234.121.45

5细溅、寫一個函數(shù)儡嘶,生成一個隨機顏色字符串,合法的顏色為#000000~ #ffffff

 function getRandStr(){
        var dist='0123456789abcdef';
        var str='#';
        for(var i=0;i<6;i++){
        var index=Math.floor(Math.random()*16);
        var  ch=dist[index];
        str+=ch;
   }
     return str;
   }
    var s=getRandStr();
    console.log(s);

二蹦狂、數(shù)組

1、數(shù)組方法里push窜骄、pop、shift糠亩、unshift准验、join、splice分別是什么作用糊饱?用 splice函數(shù)分別實現(xiàn)push、pop滞项、shift夭坪、unshift方法

push():將一個或多個元素添加到數(shù)組的末尾,并返回數(shù)組的新長度台舱。
如:
var numbers = [1, 2, 3];
numbers.push(4);
console.log(numbers); // [1, 2, 3, 4]
pop():從數(shù)組中刪除最后一個元素,并返回該元素的值柜去。此方法更改數(shù)組的長度拆宛。
let a = [1, 2, 3];
a.length; // 3
a.pop(); // 3
console.log(a); // [1, 2]
a.length; // 2
shift():從數(shù)組中刪除第一個元素,并返回該元素的值股耽。此方法更改數(shù)組的長度
var a = [1, 2, 3];
var b = a.shift();
console.log(a); // [2, 3]
console.log(b); // 1
unshift():方法將一個或多個元素添加到數(shù)組的開頭钳幅,并返回新數(shù)組的長度
var a = [1, 2, 3];
a.unshift(4, 5);
console.log(a);// [4, 5, 1, 2, 3]
join():將數(shù)組或類數(shù)組對象的所有元素連接到一個字符串中。join() 方法敢艰,不會改變數(shù)組!
var a= ['Wind', 'Rain', 'Fire'];
a.join(); //默認為 ",", 'Wind,Rain,Fire'
a.join(""); //'Wind-Rain-Fire'
a.join("-"); //'Wind-Rain-Fire'
console.log(a);// ['Wind', 'Rain', 'Fire']
splice():方法通過刪除現(xiàn)有元素和/或添加新元素來更改數(shù)組的內(nèi)容震嫉。
array.splice(start, howmany, item1, item2, ...)
splice() 方法會直接對數(shù)組進行修改。
var myFish = ["angel", "clown", "mandarin", "surgeon"];
var removed = myFish.splice(2, 0, "drum");//從第 2 位開始刪除 0 個元素扼睬,插入 "drum"
console.log(removed);//["angel", "clown", "drum", "mandarin", "surgeon"]

用 splice函數(shù)分別實現(xiàn)push悴势、pop、shift瞳浦、unshift方法

 var Obj={
      push: function push(arr,item){
          arr.splice(arr.length,item);
          return arr
      },
      pop:  function pop(arr){
          arr.splice(arr.length-1,1);
          return arr;
      },
      shift: function shift(arr){
          arr.splice(0,1);
          return arr;
      },
      unshift:function unshift(arr,index,item){
          arr.splice(0,0,item);
          return arr;
      }
  };
    var a=Obj.push([1,2,3],3);
    console.log(a);//[1, 2, 3]
    var b=Obj.pop([1,2,3]);
    console.log(b);//[1, 2]
    var c=Obj.shift([1,2,3]);
    console.log(c);//[2, 3]
    var d=Obj.unshift([1,2],3);
    console.log(d);//[3, 1, 2]
//把題目理解錯誤了

2叫潦、寫一個函數(shù)官硝,操作數(shù)組,數(shù)組中的每一項變?yōu)樵瓉淼钠椒角饧埽谠瓟?shù)組上操作

function squareArr(arr){
    for (var i=0;i<arr.length;i++){
         arr[i]=arr[i]*arr[i];
    }
    return arr;
}
var arr = [2, 4, 6]
squareArr(arr)
console.log(arr) // [4, 16, 36]

3岖研、寫一個函數(shù),操作數(shù)組孙援,返回一個新數(shù)組,新數(shù)組中只包含正數(shù)窥摄,原數(shù)組不變

function filterPositive(arr){
    var newArr=[];
    for(var i=0;i<arr.length;i++){
        if (arr[i]>0&&typeof arr[i]==='number'){
            newArr.push(arr[i]);
        }
    }
    return newArr;
}
var arr = [3, -1,  2,  '饑人谷', true];
var newArr = filterPositive(arr);
console.log(newArr) ;//[3, 2]
console.log(arr); //[3, -1,  2,  '饑人谷', true]

Date

1础淤、 寫一個函數(shù)getChIntv,獲取從當前時間到指定日期的間隔時間

    function getChIntv(time){
         var endTime = new Date(time).getTime();
        var nowTIime=new Date().getTime();
        var offsetTime=parseInt((endTime-nowTIime)/1000);//秒
        var days=parseInt(offsetTime/(60*60*24));
        var hours=parseInt((offsetTime/(60*60)%24));
        var minites=parseInt(offsetTime/60%60);
        var seconds=parseInt(offsetTime%60);
           days=days<10?"0"+days:days;
          hours=hours<10?"0"+hours:hours;
          minites=minites<10?"0"+minites:minites;
          seconds=seconds<10?"0"+seconds:seconds;
        return "距6月3日還有"+days+"天"+hours+"小時"+minites+"分"+seconds+"秒";

   }
  var str = getChIntv("2017-06-03 00:00:00");
  console.log(str);  // 距6月3日還有00天02小時15分59秒

2币砂、把hh-mm-dd格式數(shù)字日期改成中文日期

 function getCh(str) {
        var newStr=str.split("-");//["2017", "08", "09"]
         console.log(newStr);
          var years=newStr[0];
          var mouth=newStr[1];
          var days=newStr[2];
          var dict=["零","一","二","三","四","五","六","七","八","九","十","十一","十二","十三","十四","十五","十六","十七","十八","十九","二十","二十一","二十二","二十三","二十四","二十五","二十六","二十七","二十八","二十九","三十","三十一"];
           var chYears=dict[parseInt(years[0])]+dict[parseInt(years[1])]+dict[parseInt(years[2])]+dict[parseInt(years[3])]+"年";
           var chMouth=dict[parseInt(mouth)+'']+"月";
           var chDays=dict[parseInt(days)+'']+"日";
           var newDate=[];
           newDate.unshift(chYears,chMouth,chDays);
           var res=newDate.join("");
           return res;
   }
   var str="2017-08-09";
   var a = getCh(str);
   console.log(a);//二零一七年八月九日

3玻侥、寫一個函數(shù),參數(shù)為時間對象毫秒數(shù)的字符串格式蜜徽,返回值為字符串。假設(shè)參數(shù)為時間對象毫秒數(shù)t拘鞋,根據(jù)t的時間分別返回如下字符串:

剛剛( t 距當前時間不到1分鐘時間間隔)
3分鐘前 (t距當前時間大于等于1分鐘盆色,小于1小時)
8小時前 (t 距離當前時間大于等于1小時,小于24小時)
3天前 (t 距離當前時間大于等于24小時隔躲,小于30天)
2個月前 (t 距離當前時間大于等于30天小于12個月)
8年前 (t 距離當前時間大于等于12個月)

function friendlyDate(time){
    var nowTime=new Date().getTime();//當前時間距離1970年的毫秒數(shù)
    var startTime=new Date(time).getTime();
    var t=parseInt(nowTime-startTime)/1000;//秒
      if(t/60<1){
         return "剛剛"
     }else if((t>=60)&&(t<=3600)){
         return parseInt(t/60)+"分鐘前";
     }else if(t>=(60*60)&&(t<=(60*60*24))){
         return parseInt(t/3600%24)+"小時前";
     }else  if((t>=(60*60*24))&&(t<=(60*60*24*30))){
          return parseInt(t/(60*60*24))+"天前";
      }else if((60*60*24*30)<t&&(t<=(60*60*24*365))){
          return parseInt(t/(60*60*24*30))+"個月前";
      }else if(t>=(60*60*24*365)){
          return parseInt(t/(60*60*24*365))+"年前";
      }
}
var str = friendlyDate( '2017-06-03 10:30:00' ); 
console.log(str);//  30分鐘前,寫完這題的時間是:2017-06-03 11:00:00
var str2 = friendlyDate('2017-06-01 00:00:00');
console.log(str2); //2天前
var str1=friendlyDate('2017-06-03 11:02:40');
console.log(str1);//剛剛
var str3=friendlyDate('2017-05-01 00:00:00');
console.log(str3);//1個月前
var str4=friendlyDate('2014-05-01 00:00:00');
console.log(str4);//3年前

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末宣旱,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子笙纤,更是在濱河造成了極大的恐慌组力,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,561評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件腥椒,死亡現(xiàn)場離奇詭異候衍,居然都是意外死亡,警方通過查閱死者的電腦和手機脱柱,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,218評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來惨好,“玉大人随闺,你說我怎么就攤上這事【乩郑” “怎么了回论?”我有些...
    開封第一講書人閱讀 157,162評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長煎谍。 經(jīng)常有香客問我剿牺,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,470評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮擅威,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘李请。我一直安慰自己宾袜,他們只是感情好,可當我...
    茶點故事閱讀 65,550評論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著绅络,像睡著了一般。 火紅的嫁衣襯著肌膚如雪杉畜。 梳的紋絲不亂的頭發(fā)上衷恭,一...
    開封第一講書人閱讀 49,806評論 1 290
  • 那天,我揣著相機與錄音随珠,去河邊找鬼。 笑死茸歧,一個胖子當著我的面吹牛显沈,可吹牛的內(nèi)容都是我干的逢唤。 我是一名探鬼主播涤浇,決...
    沈念sama閱讀 38,951評論 3 407
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼只锭!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起页滚,我...
    開封第一講書人閱讀 37,712評論 0 266
  • 序言:老撾萬榮一對情侶失蹤铺呵,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后幻林,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體音念,經(jīng)...
    沈念sama閱讀 44,166評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,510評論 2 327
  • 正文 我和宋清朗相戀三年整葡,在試婚紗的時候發(fā)現(xiàn)自己被綠了讥脐。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,643評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡俱萍,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出枪蘑,到底是詐尸還是另有隱情岖免,我是刑警寧澤,帶...
    沈念sama閱讀 34,306評論 4 330
  • 正文 年R本政府宣布赦役,位于F島的核電站,受9級特大地震影響掂摔,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜乙漓,卻給世界環(huán)境...
    茶點故事閱讀 39,930評論 3 313
  • 文/蒙蒙 一叭披、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧涩蜘,春花似錦、人聲如沸同诫。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,745評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至霹俺,卻和暖如春柔吼,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背丙唧。 一陣腳步聲響...
    開封第一講書人閱讀 31,983評論 1 266
  • 我被黑心中介騙來泰國打工愈魏, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人想际。 一個月前我還...
    沈念sama閱讀 46,351評論 2 360
  • 正文 我出身青樓蝌戒,卻偏偏與公主長得像,于是被迫代替她去往敵國和親沼琉。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,509評論 2 348

推薦閱讀更多精彩內(nèi)容

  • Math 寫一個函數(shù)桩匪,返回從min到max之間的 隨機整數(shù)打瘪,包括min不包括max 寫一個函數(shù)傻昙,返回從min都ma...
    ezrealor閱讀 254評論 0 1
  • Math 1闺骚、寫一個函數(shù),返回從min到max之間的隨機整數(shù)妆档,包括min不包括max 2僻爽、寫一個函數(shù),返回從min...
    阿魯提爾閱讀 351評論 0 1
  • Math任務(wù) 1贾惦、 寫一個函數(shù)胸梆,返回從min到max之間的 隨機整數(shù)敦捧,包括min不包括max 2、寫一個函數(shù)碰镜,返回...
    撫年華輕過閱讀 219評論 0 0
  • 1兢卵、寫一個函數(shù),返回從min到max之間的隨機整數(shù)绪颖,包括min不包括max 2秽荤、寫一個函數(shù),返回從min都max之...
    osborne閱讀 264評論 0 0
  • Math任務(wù) 1. 寫一個函數(shù)柠横,返回從min到max之間的隨機整數(shù)窃款,包括min不包括max 2. 寫一個函數(shù),返回...
    蕭雪圣閱讀 322評論 0 0