進(jìn)階任務(wù)6 Math數(shù)組Data

Math

1、寫一個函數(shù)府框,返回從min到max之間的 隨機(jī)整數(shù),包括min不包括max

function ranDom(min,max){
     return min+floor(random()*(max-min))
} 

2、寫一個函數(shù)迫靖,返回從min都max之間的 隨機(jī)整數(shù)院峡,包括min包括max

function ranDom(min,max){
 return min+floor(random()*(max-min+1))
} 

3、寫一個函數(shù)系宜,生成一個長度為 n 的隨機(jī)字符串照激,字符串字符的取值范圍包括0到9,a到 z盹牧,A到Z俩垃。

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

4汰寓、寫一個函數(shù)口柳,生成一個隨機(jī) IP 地址,一個合法的 IP 地址為

function ranDom(min,max){
     return min+floor(random()*(max-min))
} 

 0.0.0.0~255.255.255.255

function getRandIP(){
   var arr = []
   for(var i = 0;i < 4;i ++){
     arr.push(random(0,256))
   }
 return arr.join('.')  
var ip = getRandIP()
console.log(ip) // 10.234.121.45

5有滑、寫一個函數(shù)跃闹,生成一個隨機(jī)顏色字符串,合法的顏色為#000000~ #ffffff

function ranDom(min,max){
   return min+floor(random()*(max-min))
} 

function getRandColor(){
dict = '0123456789abcdef'
var str = ''
for(var i = 0;i<6;i ++){
  str +=dict[random(0,16)]
}
return "#"+str
var color = getRandColor()
console.log(color)   // #3e2f1b

數(shù)組

1毛好、數(shù)組方法里push望艺、pop、shift肌访、unshift找默、join、splice分別是什么作用吼驶?用 splice函數(shù)分別實現(xiàn)push啡莉、pop、shift旨剥、unshift方法

  • push() 方法可向數(shù)組末尾添加一個或多個元素咧欣,并返回新的長度。

     var arr = [1,2,3]
     arr.push(4,5,6)
     console.log(arr) // array [1,2,3,4,5,6]
    
  • pop()用于刪除并返回數(shù)組最后一個元素轨帜,原數(shù)組長度減一魄咕,如果數(shù)組已經(jīng)為空,則 pop() 不改變數(shù)組蚌父,并返回 undefined 值哮兰。

  • shift()用于刪除數(shù)組第一個元素并返回被刪除元素,改變原數(shù)組苟弛。如果數(shù)組為空數(shù)組則返回undefined喝滞。

  • unshift()方法可向數(shù)組的開頭添加一個或更多元素,并返回新的長度膏秫。

  • join() 方法用于把數(shù)組中的所有元素放入一個字符串右遭,元素是通過指定的分隔符進(jìn)行分隔的。

  • splice(起始索引,刪除元素窘哈,添加元素)方法向/從數(shù)組中添加/刪除項目吹榴,然后返回被刪除的項目。
    注釋:該方法會改變原始數(shù)組滚婉。

2图筹、寫一個函數(shù),操作數(shù)組让腹,數(shù)組中的每一項變?yōu)樵瓉淼钠椒皆妒#谠瓟?shù)組上操作

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

3、寫一個函數(shù)骇窍,操作數(shù)組民宿,返回一個新數(shù)組,新數(shù)組中只包含正數(shù)像鸡,原數(shù)組不變

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

Date日期函數(shù)

1. 寫一個函數(shù)getChIntv活鹰,獲取從當(dāng)前時間到指定日期的間隔時間.

答:

<script>
var newYear = new Date('2017-2-08');            
var nowDay = new Date();
function getInterval(start,end) {
    var days = 1000*60*60*24;
    var result = end.getTime() - start.getTime();
    var result2 = Math.ceil(result/days);
    return result2;
}

var demo = getInterval(nowDay,newYear);
console.log(demo);

</script>

2. 寫一個函數(shù)getChIntv,獲取從當(dāng)前時間到指定日期的間隔時間.

答:寫一個函數(shù)getChIntv只估,獲取從當(dāng)前時間到指定日期的間隔時間.

<script>
var newYear = new Date('2017-11-01');           
var nowDay = new Date();
function getInterval(start,end) {
    var days = 1000*60*60*24;
    var hours = 1000*60*60;
    var minutes = 1000*60;
    var seconds = 1000;
    var result = end.getTime() - start.getTime();
    var getDay = Math.floor(result/days);
    var getHours = Math.floor((result/hours)-(getDay*24));
    var getMinutes = Math.floor((result - (getDay*days)-                (getHours*hours))/minutes);
    var getseconds = Math.floor((result - (getDay*days)-(getHours*hours)-               (getMinutes*minutes))/seconds);
    var finalResult = "距離除夕還有:"+getDay+"天"+getHours+"小時"+getMinutes             +"分鐘"+getseconds+"秒";
    return finalResult;
}

var demo = getInterval(nowDay,newYear);
console.log(demo);

</script>

3.把hh-mm-dd格式數(shù)字日期改成中文日期.

答:這道題志群,老師請酌情批改,因為我的月前面不能加0,加了就解析不了月份.

<script>
var str='2015-8-30';
var dict = ["零","一","二","三","四","五","六","七","八","九","十","十一","十二","十三","十四","十五","十六","十七","十八","十九","二十","二十一","二十二","二十三","二十四","二十五","二十六","二十七","二十八","二十九","三十","三十一"];
function getChsDate(str){
    var newStr = str.split('-');
    var year=newStr[0];
    var month=newStr[1];
    var day=newStr[2];
    var result_year = year.split('');
    var result_month = dict[month.split()[0]].split();
    var resutl_day = dict[day.split()[0]].split();
    var result = result_month.concat(resutl_day);
    var year_str=[];
    for(var i = 0;i<result_year.length;i++){
        year_str.push(dict[result_year[i]]);
    }
    var final = year_str.concat(result);
        final.splice(4,0,'年');
        final.splice(6,0,'月');
        final.splice(9,0,'日');
    return final.join('');
}

var demo = getChsDate(str);
console.log(demo);

</script>

4.寫一個函數(shù)蛔钙,參數(shù)為時間對象毫秒數(shù)的字符串格式锌云,返回值為字符串。假設(shè)參數(shù)為時間對象毫秒數(shù)t吁脱,根據(jù)t的時間分別返回如下字符串:

答:

<script>
function friendlyDate (time) {
    var t = new Date().getTime();
    var c = (t-time)/1000;
    switch(true){
        case c < 60:
        console.log('剛剛');
        break;
        case c >=60 && c<60*60:
        console.log(Math.floor(c/60)+'分鐘前');
        break;
        case c>=3600 && c<3600*24:
        console.log(Math.floor(c/3600)+"小時前");
        break;
        case c>=3600*24 && c<3600*24*30:
        console.log(Math.floor(c/3600/24)+"天前");
        break;
        case c>=3600*24*30 && c<3600*24*30*12:
        console.log(Math.floor(c/3600/24/30)+"月前");
        break;
        default:
        console.log(Math.floor(c/3600/24/30/12)+"年前");
        break;
    }
}

var str = friendlyDate(Date.now()-1000*60);
console.log(str);
var str2 = friendlyDate('1483941245793');
console.log(str2);      
</script>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末桑涎,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子兼贡,更是在濱河造成了極大的恐慌攻冷,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,402評論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件遍希,死亡現(xiàn)場離奇詭異等曼,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)凿蒜,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評論 3 392
  • 文/潘曉璐 我一進(jìn)店門禁谦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人废封,你說我怎么就攤上這事州泊。” “怎么了漂洋?”我有些...
    開封第一講書人閱讀 162,483評論 0 353
  • 文/不壞的土叔 我叫張陵遥皂,是天一觀的道長力喷。 經(jīng)常有香客問我,道長渴肉,這世上最難降的妖魔是什么冗懦? 我笑而不...
    開封第一講書人閱讀 58,165評論 1 292
  • 正文 為了忘掉前任爽冕,我火速辦了婚禮仇祭,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘颈畸。我一直安慰自己乌奇,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,176評論 6 388
  • 文/花漫 我一把揭開白布眯娱。 她就那樣靜靜地躺著礁苗,像睡著了一般。 火紅的嫁衣襯著肌膚如雪徙缴。 梳的紋絲不亂的頭發(fā)上试伙,一...
    開封第一講書人閱讀 51,146評論 1 297
  • 那天,我揣著相機(jī)與錄音于样,去河邊找鬼疏叨。 笑死,一個胖子當(dāng)著我的面吹牛穿剖,可吹牛的內(nèi)容都是我干的蚤蔓。 我是一名探鬼主播,決...
    沈念sama閱讀 40,032評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼糊余,長吁一口氣:“原來是場噩夢啊……” “哼秀又!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起贬芥,我...
    開封第一講書人閱讀 38,896評論 0 274
  • 序言:老撾萬榮一對情侶失蹤吐辙,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后蘸劈,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體袱讹,經(jīng)...
    沈念sama閱讀 45,311評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,536評論 2 332
  • 正文 我和宋清朗相戀三年昵时,在試婚紗的時候發(fā)現(xiàn)自己被綠了捷雕。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,696評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡壹甥,死狀恐怖救巷,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情句柠,我是刑警寧澤浦译,帶...
    沈念sama閱讀 35,413評論 5 343
  • 正文 年R本政府宣布棒假,位于F島的核電站,受9級特大地震影響精盅,放射性物質(zhì)發(fā)生泄漏帽哑。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,008評論 3 325
  • 文/蒙蒙 一叹俏、第九天 我趴在偏房一處隱蔽的房頂上張望妻枕。 院中可真熱鬧,春花似錦粘驰、人聲如沸屡谐。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽愕掏。三九已至,卻和暖如春顶伞,著一層夾襖步出監(jiān)牢的瞬間饵撑,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評論 1 269
  • 我被黑心中介騙來泰國打工唆貌, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留滑潘,地道東北人。 一個月前我還...
    沈念sama閱讀 47,698評論 2 368
  • 正文 我出身青樓挠锥,卻偏偏與公主長得像众羡,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子蓖租,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,592評論 2 353

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