Math數(shù)組Date

Math任務(wù)
1、寫一個(gè)函數(shù)家乘,返回從min到max之間的 隨機(jī)整數(shù)蝗羊,包括min不包括max

function getRandomNumber(min,max){
    var a=max-min;
    var b=Math.floor(Math.random()*a+min);
    return b// return Math.floor(Math.random()*(max-min)+min)
}

2、寫一個(gè)函數(shù)仁锯,返回從min都max之間的 隨機(jī)整數(shù)耀找,包括min包括max

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

3、寫一個(gè)函數(shù)业崖,生成一個(gè)長(zhǎng)度為 n 的隨機(jī)字符串野芒,字符串字符的取值范圍包括0到9,a到 z双炕,A到Z

function getRandStr(len){
    function random(min,max){
    return min+Math.floor(Math.random()*(max-min+1));
     }
 var str=""
  for(var i=0;i<len;i++){
    dict='0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
    str=str+dict[random(0,62)]
  }
  return str
}
var str = getRandStr(10);

4狞悲、寫一個(gè)函數(shù),生成一個(gè)隨機(jī) IP 地址妇斤,一個(gè)合法的 IP 地址為 0.0.0.0~255.255.255.255

function random(min,max){
    return min+Math.floor(Math.random()*(max-min+1));
}
function getRandIP(){
    var arr=[];
    for(var i=0;i<4;i++){
        arr[i]=random(0,256)
    }
    return arr.join('.')
}
var ip = getRandIP()
console.log(ip) // 10.234.121.45

5摇锋、寫一個(gè)函數(shù),生成一個(gè)隨機(jī)顏色字符串趟济,合法的顏色為#000000~ #ffffff

function getRandColor(){
    function random(min,max){
    return min+Math.floor(Math.random()*(max-min+1));
             }
    var str='#';
    for(var i=0;i<6;i++){
        dict="0123456789abcdef"
        str+=dict[random(0,15)]
    }
    return str
}
var color = getRandColor()
function getRandColor(){
    function random(min,max){
    return min+Math.floor(Math.random()*(max-min+1));
             }
    var str='#';
    for(var i=0;i<6;i++){
        dict="0123456789abcdef"
        str+=dict[random(0,15)]
    }
    return str
}
var color = getRandColor()
console.log(color) 

數(shù)組任務(wù)
1乱投、數(shù)組方法里push、pop顷编、shift戚炫、unshift、join媳纬、splice分別是什么作用双肤?用 splice函數(shù)分別實(shí)現(xiàn)push施掏、pop、shift茅糜、unshift方法

push的使用:Array.push(str) 將一個(gè)或多個(gè)元素添加到數(shù)組的末尾七芭,并返回新數(shù)組的長(zhǎng)度
pop的使用: Array.pop() 將數(shù)組末尾最后一個(gè)元素刪去,并返回該元素的值(更改數(shù)組長(zhǎng)度)
shift的使用: Array.shift() 將數(shù)組的第一個(gè)元素刪除蔑赘,并返回該元素的值(更改數(shù)組長(zhǎng)度)
unshif的使用:t Array.unshift() 將一個(gè)或多個(gè)元素添加到數(shù)組的開頭狸驳,并返回新的數(shù)組長(zhǎng)度
join的使用: Array.join(separator) 將數(shù)組或類數(shù)組的所有元素以制定分隔符進(jìn)行連接,稱為一個(gè)字符串
splice的使用: Array.splice(index,deleteCount,item1,item2,...) 從指定位置(index)起缩赛,執(zhí)行若干次(deleteCount)刪除或者替換(替換內(nèi)容為item1,item2...)耙箍,返回值為被刪除的部分組成的新數(shù)組

splice函數(shù)分別實(shí)現(xiàn)push、pop酥馍、shift辩昆、unshift方法:

//splice函數(shù)分別實(shí)現(xiàn)push:
var arr=[1,2,3,4,5]
arr.splice(arr.length,0,8,88,888)
//splice函數(shù)分別實(shí)現(xiàn)pop:
arr.splice(arr.length-1,1)
//splice函數(shù)分別實(shí)現(xiàn)shift:
arr.splice(0,1)
//splice函數(shù)分別實(shí)現(xiàn)unshift:
arr.splice(0,0,9,99,99)

2、寫一個(gè)函數(shù)旨袒,操作數(shù)組汁针,數(shù)組中的每一項(xiàng)變?yōu)樵瓉淼钠椒剑谠瓟?shù)組上操作

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

3砚尽、寫一個(gè)函數(shù)施无,操作數(shù)組,返回一個(gè)新數(shù)組尉辑,新數(shù)組中只包含正數(shù)帆精,原數(shù)組不變

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

Date 任務(wù)
1、 寫一個(gè)函數(shù)getChIntv隧魄,獲取從當(dāng)前時(shí)間到指定日期的間隔時(shí)間

function getChIntv(str){
    var targetDate=new Date(str);
    var curDate=new Date();
    var intvDate=Math.abs(targetDate-curDate)
    var totalMinutes=Math.floor(totalSeconds/60)
    var totalHours=Math.floor(totalMinutes/60)

            var day=Math.floor(totalHours/24)
            var hour=Math.floor(totalHours%24)
            var mintues=Math.floor(totalMinutes%60)
            var seconds=Math.floor(totalSeconds%60)
            return day+'天'+hour+'小時(shí)'+mintues+'分鐘'+seconds+'秒'

}
getChIntv('2017-11-03T12:00:00')

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

function getChsDate(str){
    var arr=str.split('-')
    var dict=['零','一','二','三','四','五','六','七','八','九','十','十一','十二','十三','十四','十五','十六','十七','十八','十九','二十','二十一','二十二','二十三','二十四','二十五','二十六','二十七','二十八','二十九','三十','三十一']
    var year=arr[0];
    var month=arr[1];
    var date=arr[2];
    var cnYear=dict[year[0]]+dict[year[1]]+dict[year[2]]+dict[year[3]];
    var cnMonth=dict[parseInt(month)];
    var cnDate=dict[parseInt(date)]
    return cnYear+'年'+cnMonth+'月'+cnDate+'日'

  }
var str = getChsDate('2015-01-08');
console.log(str);  // 二零一五年一月八日

3、寫一個(gè)函數(shù)购啄,參數(shù)為時(shí)間對(duì)象毫秒數(shù)的字符串格式襟企,返回值為字符串。假設(shè)參數(shù)為時(shí)間對(duì)象毫秒數(shù)t狮含,根據(jù)t的時(shí)間分別返回如下字符串:

剛剛( t 距當(dāng)前時(shí)間不到1分鐘時(shí)間間隔)
3分鐘前 (t距當(dāng)前時(shí)間大于等于1分鐘顽悼,小于1小時(shí))
8小時(shí)前 (t 距離當(dāng)前時(shí)間大于等于1小時(shí),小于24小時(shí))
3天前 (t 距離當(dāng)前時(shí)間大于等于24小時(shí)几迄,小于30天)
2個(gè)月前 (t 距離當(dāng)前時(shí)間大于等于30天小于12個(gè)月)
8年前 (t 距離當(dāng)前時(shí)間大于等于12個(gè)月)

function friendlyDate(time){
    var seconds=((new Date()-parseInt(time))/1000);
    if(seconds<60){
        console.log('剛剛')
    }
    else if(seconds<60*60){
        console.log('3分鐘前')
    }
    else if(seconds<60*60*24){
        console.log('8小時(shí)前')
    }
    else if(seconds<60*60*24*30){
        console.log('3天前')
    }
    else if(seconds<60*60*24*30*12){
        console.log('2個(gè)月前')
    }
    else if(seconds>=(60*60*24*30*12)){
        console.log('8年前')
    }
}

擴(kuò)展

  1. 判斷給定年份是否閏年
function leapYear(year){
    var d=new Date(year,1,29);
    return d.getDate()===29
}
var a=leapYear(2008);
var b=leapYear(2009);
console.log(a); //true
console.log(b); //false
  1. 怎樣獲取月份相應(yīng)天數(shù)(包括平年和閏年)
function getDaysOfMonth(year,month){
    var a=new Date(year,month,1,0,0,0);
    var days=new Date(a-1000);
    return days.getDate()
}
var days=getDaysOfMonth(2008,2)
console.log(days)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末蔚龙,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子映胁,更是在濱河造成了極大的恐慌木羹,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,372評(píng)論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異坑填,居然都是意外死亡抛人,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門脐瑰,熙熙樓的掌柜王于貴愁眉苦臉地迎上來妖枚,“玉大人,你說我怎么就攤上這事苍在【常” “怎么了?”我有些...
    開封第一講書人閱讀 162,415評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵忌穿,是天一觀的道長(zhǎng)抒寂。 經(jīng)常有香客問我,道長(zhǎng)掠剑,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,157評(píng)論 1 292
  • 正文 為了忘掉前任郊愧,我火速辦了婚禮朴译,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘属铁。我一直安慰自己眠寿,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評(píng)論 6 388
  • 文/花漫 我一把揭開白布焦蘑。 她就那樣靜靜地躺著盯拱,像睡著了一般。 火紅的嫁衣襯著肌膚如雪例嘱。 梳的紋絲不亂的頭發(fā)上狡逢,一...
    開封第一講書人閱讀 51,125評(píng)論 1 297
  • 那天,我揣著相機(jī)與錄音拼卵,去河邊找鬼奢浑。 笑死,一個(gè)胖子當(dāng)著我的面吹牛腋腮,可吹牛的內(nèi)容都是我干的雀彼。 我是一名探鬼主播,決...
    沈念sama閱讀 40,028評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼即寡,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼徊哑!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起聪富,我...
    開封第一講書人閱讀 38,887評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤莺丑,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后善涨,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體窒盐,經(jīng)...
    沈念sama閱讀 45,310評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡草则,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評(píng)論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了蟹漓。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片炕横。...
    茶點(diǎn)故事閱讀 39,690評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖葡粒,靈堂內(nèi)的尸體忽然破棺而出份殿,到底是詐尸還是另有隱情,我是刑警寧澤嗽交,帶...
    沈念sama閱讀 35,411評(píng)論 5 343
  • 正文 年R本政府宣布卿嘲,位于F島的核電站,受9級(jí)特大地震影響夫壁,放射性物質(zhì)發(fā)生泄漏拾枣。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評(píng)論 3 325
  • 文/蒙蒙 一盒让、第九天 我趴在偏房一處隱蔽的房頂上張望梅肤。 院中可真熱鬧,春花似錦邑茄、人聲如沸姨蝴。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽左医。三九已至机蔗,卻和暖如春陈肛,著一層夾襖步出監(jiān)牢的瞬間彩倚,已是汗流浹背赶熟。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評(píng)論 1 268
  • 我被黑心中介騙來泰國(guó)打工卑硫, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留麸恍,地道東北人镜粤。 一個(gè)月前我還...
    沈念sama閱讀 47,693評(píng)論 2 368
  • 正文 我出身青樓觉壶,卻偏偏與公主長(zhǎng)得像斩萌,于是被迫代替她去往敵國(guó)和親缝裤。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評(píng)論 2 353

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

  • Math 1颊郎、寫一個(gè)函數(shù)憋飞,返回從min到max之間的隨機(jī)整數(shù),包括min不包括max 2姆吭、寫一個(gè)函數(shù)榛做,返回從min...
    阿魯提爾閱讀 358評(píng)論 0 1
  • Math 1.寫一個(gè)函數(shù),返回從min到max之間的 隨機(jī)整數(shù),包括min不包括max 2.寫一個(gè)函數(shù)检眯,返回從mi...
    饑人谷_bigJiao閱讀 555評(píng)論 0 0
  • Math 寫一個(gè)函數(shù)厘擂,返回從min到max之間的 隨機(jī)整數(shù),包括min不包括max 寫一個(gè)函數(shù)锰瘸,返回從min都ma...
    ezrealor閱讀 257評(píng)論 0 1
  • .寫一個(gè)函數(shù)刽严,返回從min到max之間的 隨機(jī)整數(shù),包括min不包括max function randomness...
    邢烽朔閱讀 314評(píng)論 0 1
  • Math 1避凝、寫一個(gè)函數(shù)舞萄,返回從min到max之間的 隨機(jī)整數(shù),包括min不包括max 2管削、寫一個(gè)函數(shù)倒脓,返回從mi...
    Feiyu_有貓病閱讀 267評(píng)論 0 1