2021-11-28

七漆撞、Math和Date

1.排序算法

sort()方法,用于對(duì)數(shù)組排序于宙。注意:該排序方法浮驳,是根據(jù)數(shù)組中,每一個(gè)元素首字符的unicode編碼進(jìn)行排序的

手寫(xiě)排序算法:

1.冒泡排序算法

2.選擇排序算法

<!DOCTYPE html>

<html>

<head>

? ? <meta charset="UTF-8">

? ? <meta http-equiv="X-UA-Compatible" content="IE=edge">

? ? <meta name="viewport" content="width=device-width, initial-scale=1.0">

? ? <title>數(shù)組的排序方法</title>

</head>

<body>

? ? <script>

? ? ? ? // sort()方法捞魁,用于對(duì)數(shù)組排序

? ? ? ? let arr1 = [33,55,22,11,44]

? ? ? ? // console.log(arr1);

? ? ? ? // 注意:該排序方法至会,是根據(jù)數(shù)組中,每一個(gè)元素首字符的unicode編碼進(jìn)行排序的

? ? ? ? // arr1.sort()

? ? ? ? // 冒泡排序算法

? ? ? ? // 第一層循環(huán)谱俭,控制比較的輪數(shù) (數(shù)組長(zhǎng)度為5奉件,比較4輪)

? ? ? ? for(let i=0;i<arr1.length-1;i++){

? ? ? ? ? ? // 第二層循環(huán),控制每輪比較的次數(shù)(第一輪比較4次昆著,第四輪比較1次)

? ? ? ? ? ? for(let j=0;j<arr1.length-1-i;j++){

? ? ? ? ? ? ? ? // 每次用前一個(gè)數(shù) 去比較 后一個(gè)數(shù)

? ? ? ? ? ? ? ? if(arr1[j] > arr1[j+1]){

? ? ? ? ? ? ? ? ? ? //如果前一個(gè)數(shù) 大于 后一個(gè)數(shù) 就 互換位置

? ? ? ? ? ? ? ? ? ? //定義一個(gè)中間變量县貌,去換位置

? ? ? ? ? ? ? ? ? ? let temp = arr1[j]

? ? ? ? ? ? ? ? ? ? arr1[j] = arr1[j+1]

? ? ? ? ? ? ? ? ? ? arr1[j+1] = temp

? ? ? ? ? ? ? ? }

? ? ? ? ? ? }

? ? ? ? }

? ? ? ? console.log(arr1);

? ? ? ? // 選擇排序算法

? ? ? ? // 第一層循環(huán),控制每輪選擇的數(shù)

? ? ? ? for(let i=0;i<arr1.length-1;i++){

? ? ? ? ? ? // 第二層循環(huán)宣吱,控制每輪參與比較的數(shù)(第一輪窃这,j從1-4;第二輪征候,j從2-4)

? ? ? ? ? ? for(let j=i+1;j<arr1.length;j++){

? ? ? ? ? ? ? ? //如果選擇的數(shù) 大于 參與比較的數(shù) 就互換

? ? ? ? ? ? ? ? if(arr1[i] > arr1[j]){

? ? ? ? ? ? ? ? ? ? let temp = arr1[i]

? ? ? ? ? ? ? ? ? ? arr1[i] = arr1[j]

? ? ? ? ? ? ? ? ? ? arr1[j] = temp

? ? ? ? ? ? ? ? }

? ? ? ? ? ? }

? ? ? ? }

? ? ? ? console.log(arr1);

? ? </script>

</body>

</html>

控制臺(tái)顯示:

2.Math對(duì)象

Math對(duì)象 里面提供的方法杭攻,可以幫助我們解決算術(shù)問(wèn)題

提供的方法:

1.Math.random() 返回一個(gè)0到1之間的隨機(jī)數(shù)

2.abs() 返回一個(gè)數(shù)的絕對(duì)值

3.ceil() 向上取整

4.floor() 向下取整

5.max() 返回最大值

6.min() 返回最小值

7.pow() 返回指定數(shù)的次冪

8.round() 四舍五入

9.PI屬性,返回圓周率

<!DOCTYPE html>

<html>

<head>

? ? <meta charset="UTF-8">

? ? <meta http-equiv="X-UA-Compatible" content="IE=edge">

? ? <meta name="viewport" content="width=device-width, initial-scale=1.0">

? ? <title>Math對(duì)象</title>

</head>

<body>

? ? <script>

? ? ? ? // Math對(duì)象 里面提供的方法疤坝,可以幫助我們解決算術(shù)問(wèn)題

? ? ? ? // PI屬性兆解,返回的是圓周率

? ? ? ? console.log(Math.PI);

? ? ? ? // random() 返回一個(gè)0到1之間的隨機(jī)數(shù)

? ? ? ? console.log(Math.random());

? ? ? ? // 隨機(jī)返回一個(gè)1000-2000之間的數(shù)

? ? ? ? console.log(parseInt(Math.random()*1001)+1000);

? ? ? ? // abs() 返回一個(gè)數(shù)的絕對(duì)值

? ? ? ? console.log(Math.abs(-55));

? ? ? ? // ceil() 向上取整(只要有小數(shù),就進(jìn)一)

? ? ? ? console.log(Math.ceil(55.01));

? ? ? ? // floor() 向下取整(去掉所有小數(shù)點(diǎn))

? ? ? ? console.log(Math.floor(55.99))

? ? ? ? // max() 返回最大值

? ? ? ? console.log(Math.max(11,22,33,38,2,3,4));

? ? ? ? // min() 返回最小值

? ? ? ? console.log(Math.min(11,22,33,38,2,3,4));

? ? ? ? // pow() 返回指定數(shù)的次冪

? ? ? ? console.log(Math.pow(3,3));

? ? ? ? console.log(Math.pow(4,4));

? ? ? ? // round() 四舍五入

? ? ? ? console.log(Math.round(55.5));

? ? ? ? console.log(Math.round(55.4));

? ? ? ? console.log(Math.round(-55.5));

? ? ? ? console.log(Math.round(-55.6));

? ? ? ? // sqrt() 開(kāi)平方根

? ? ? ? console.log(Math.sqrt(16));

? ? </script>

</body>

</html>

控制臺(tái)顯示:

3.Date對(duì)象

創(chuàng)建并返回系統(tǒng)當(dāng)前日期

let date1 = new Date()

在創(chuàng)建日期對(duì)象時(shí)跑揉,可以傳遞一個(gè)時(shí)間戳參數(shù) 锅睛。時(shí)間戳:是從1970-1-1開(kāi)始的毫秒數(shù)

let date2 = new Date(123456789)

也可以根據(jù)一個(gè)指定的時(shí)間埠巨,返回一個(gè)日期對(duì)象

let date3 = new Date('2011-1-1 12:12:12')

提供的方法:

1.getFullYear() 返回年份

2.getMonth() 返回月份 返回的值是0-11(0表示1月份,11表示12月份)

3.getDate() 返回月份的日期

4.getDay() 返回星期幾 返回的值是0-6现拒,(0表示星期天)

5.getHours() 返回小時(shí) 返回的值是0-23(0表示凌晨12點(diǎn))

6.getMinutes() 返回分鐘

7.getSeconds() 返回秒

8.getMilliseconds() 返回毫秒

9.getTime() 返回時(shí)間戳

getXXX方法用于獲取時(shí)間對(duì)象中指定的部分

setXXX方法用于設(shè)置時(shí)間對(duì)象中指定的部分

練習(xí)題:

1.計(jì)算兩個(gè)日期相差多少天辣垒,注意:兩日期對(duì)象相減,返回的是兩個(gè)日期時(shí)間戳相減后的值

2.時(shí)間效果

<!DOCTYPE html>

<html>

<head>

? ? <meta charset="UTF-8">

? ? <meta http-equiv="X-UA-Compatible" content="IE=edge">

? ? <meta name="viewport" content="width=device-width, initial-scale=1.0">

? ? <title>Date對(duì)象</title>

</head>

<body>

? ? <script>

? ? ? ? // 創(chuàng)建并返回系統(tǒng)當(dāng)前日期

? ? ? ? let date1 = new Date()

? ? ? ? console.log(date1);

? ? ? ? // 也可以根據(jù)一個(gè)指定的時(shí)間印蔬,返回一個(gè)日期對(duì)象

? ? ? ? let date2 = new Date('2020-11-11 3:3:3')

? ? ? ? console.log(date2);

? ? ? ? // 在創(chuàng)建日期對(duì)象時(shí)勋桶,可以傳遞一個(gè)時(shí)間戳參數(shù)

? ? ? ? // 時(shí)間戳:是從1970-1-1開(kāi)始的毫秒數(shù)

? ? ? ? let date3 = new Date(1234234234232)

? ? ? ? console.log(date3);

? ? ? ? console.log('------------------------------');

? ? ? ? // getFullYear() 返回年份

? ? ? ? let year = date1.getFullYear()

? ? ? ? console.log(year);

? ? ? ? // getMonth() 返回月份 返回的值是0-11(0表示1月份,11表示12月份)

? ? ? ? let month = date1.getMonth()+1

? ? ? ? console.log(month);

? ? ? ? // getDate() 返回月份的日期

? ? ? ? let date = date1.getDate()

? ? ? ? console.log(date);

? ? ? ? console.log(`${year}-${month}-${date}`);

? ? ? ? // getHours() 返回小時(shí) 返回的值是0-23(0表示凌晨12點(diǎn))

? ? ? ? let hour = date1.getHours()

? ? ? ? console.log(hour);

? ? ? ? // getMinutes() 返回分鐘

? ? ? ? let minute = date1.getMinutes()

? ? ? ? console.log(minute);

? ? ? ? // getSeconds() 返回秒

? ? ? ? let second = date1.getSeconds()

? ? ? ? console.log(second);

? ? ? ? console.log(`${year}-${month}-${date} ${hour}:${minute}:${second}`);

? ? ? ? // getMilliseconds() 返回毫秒

? ? ? ? let millisecond = date1.getMilliseconds()

? ? ? ? console.log(millisecond);

? ? ? ? // getDay() 返回星期幾 返回的值是0-6侥猬,(0表示星期天)

? ? ? ? let day = date1.getDay()

? ? ? ? console.log(day);

? ? ? ? console.log('------------------------------');

? ? ? ? // 時(shí)間對(duì)象的方法getXXX()用于獲取指定的時(shí)間部分多律,setXXX()用于設(shè)置時(shí)間的指定部分

? ? ? ? // 每一個(gè)get方法都有一個(gè)對(duì)應(yīng)的set方法蔑赘。

? ? ? ? date1.setMonth(9)

? ? ? ? date1.setFullYear(2020)

? ? ? ? console.log(date1);

? ? ? ? console.log('------------------------------');

? ? ? ? // 兩個(gè)日期對(duì)象,可以加減運(yùn)算,返回的是兩個(gè)日期對(duì)象時(shí)間戳加減后的結(jié)果

? ? ? ? let d1 = new Date('2002-10-14')

? ? ? ? let d2 = new Date()

? ? ? ? let time = d2-d1? //兩個(gè)日期相減后的毫秒數(shù)

? ? ? ? console.log(time);

? ? ? ? console.log(Math.floor(time/1000));

? ? ? ? console.log(Math.floor(time/1000/60));

? ? ? ? console.log(Math.floor(time/1000/60/60));

? ? ? ? console.log(Math.floor(time/1000/60/60/24));

? ? </script>

</body>

</html>

控制臺(tái)顯示:

<!DOCTYPE html>

<html lang="en">

<head>

? ? <meta charset="UTF-8">

? ? <meta http-equiv="X-UA-Compatible" content="IE=edge">

? ? <meta name="viewport" content="width=device-width, initial-scale=1.0">

? ? <title>時(shí)間效果</title>

? ? <style>

? ? ? ? div {

? ? ? ? ? ? font-size: 30px;

? ? ? ? ? ? background-color: #369;

? ? ? ? ? ? color: white;

? ? ? ? ? ? display: inline-block;

? ? ? ? ? ? padding: 2px 10px;

? ? ? ? }

? ? </style>

</head>

<body>

? ? <div id="date">

? ? </div>

? ? <script>

? ? ? ? // 獲取網(wǎng)頁(yè)中的div元素(根據(jù)元素的id選擇器拓巧,獲取元素)

? ? ? ? let div = document.getElementById('date')

? ? ? ? //定時(shí)器劳较,讓定時(shí)器1000毫秒執(zhí)行一次

? ? ? ? setInterval(() => {

? ? ? ? ? ? // 創(chuàng)建一個(gè)當(dāng)前日期對(duì)象

? ? ? ? ? ? let now_date = new Date()

? ? ? ? ? ? // 獲取年月日谱净,時(shí)分秒

? ? ? ? ? ? let year = now_date.getFullYear()

? ? ? ? ? ? let month = now_date.getMonth() + 1

? ? ? ? ? ? let date = now_date.getDate()

? ? ? ? ? ? let hour = now_date.getHours()

? ? ? ? ? ? let minute = now_date.getMinutes()

? ? ? ? ? ? let second = now_date.getSeconds()

? ? ? ? ? ? //將獲取到的時(shí)間信息榨惰,拼接成一個(gè)字符串

? ? ? ? ? ? let str = [year, month, date].join('-') + ' ' + [hour, minute, second].join(':')

? ? ? ? ? ? //將拼接后的時(shí)間數(shù)據(jù),顯示在div中

? ? ? ? ? ? div.innerText = str

? ? ? ? }, 1000);

? ? </script>

</body>

</html>

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末松蒜,一起剝皮案震驚了整個(gè)濱河市扔茅,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌秸苗,老刑警劉巖召娜,帶你破解...
    沈念sama閱讀 222,104評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異惊楼,居然都是意外死亡玖瘸,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)檀咙,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)雅倒,“玉大人,你說(shuō)我怎么就攤上這事弧可∶锵唬” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,697評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵棕诵,是天一觀的道長(zhǎng)裁良。 經(jīng)常有香客問(wèn)我,道長(zhǎng)校套,這世上最難降的妖魔是什么价脾? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,836評(píng)論 1 298
  • 正文 為了忘掉前任,我火速辦了婚禮笛匙,結(jié)果婚禮上侨把,老公的妹妹穿的比我還像新娘犀变。我一直安慰自己,他們只是感情好秋柄,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,851評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布获枝。 她就那樣靜靜地躺著,像睡著了一般骇笔。 火紅的嫁衣襯著肌膚如雪映琳。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 52,441評(píng)論 1 310
  • 那天蜘拉,我揣著相機(jī)與錄音,去河邊找鬼有鹿。 笑死旭旭,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的葱跋。 我是一名探鬼主播持寄,決...
    沈念sama閱讀 40,992評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼娱俺!你這毒婦竟也來(lái)了稍味?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,899評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤荠卷,失蹤者是張志新(化名)和其女友劉穎模庐,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體油宜,經(jīng)...
    沈念sama閱讀 46,457評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡掂碱,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,529評(píng)論 3 341
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了慎冤。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片疼燥。...
    茶點(diǎn)故事閱讀 40,664評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖蚁堤,靈堂內(nèi)的尸體忽然破棺而出醉者,到底是詐尸還是另有隱情,我是刑警寧澤披诗,帶...
    沈念sama閱讀 36,346評(píng)論 5 350
  • 正文 年R本政府宣布撬即,位于F島的核電站,受9級(jí)特大地震影響藤巢,放射性物質(zhì)發(fā)生泄漏搞莺。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,025評(píng)論 3 334
  • 文/蒙蒙 一掂咒、第九天 我趴在偏房一處隱蔽的房頂上張望才沧。 院中可真熱鬧迈喉,春花似錦、人聲如沸温圆。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,511評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)岁歉。三九已至得运,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間锅移,已是汗流浹背熔掺。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,611評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留非剃,地道東北人置逻。 一個(gè)月前我還...
    沈念sama閱讀 49,081評(píng)論 3 377
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像备绽,于是被迫代替她去往敵國(guó)和親券坞。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,675評(píng)論 2 359

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

  • 文初先補(bǔ)充兩點(diǎn)肺素,數(shù)組的排序方式.sort(),括號(hào)里面可傳函數(shù)參數(shù)恨锚,針對(duì)數(shù)組里的數(shù)據(jù)為數(shù)字型時(shí),升序的傳遞函數(shù)為f...
    青木樹(shù)海閱讀 199評(píng)論 0 0
  • 排序算法 sort()方法倍靡,用于對(duì)數(shù)組排序 注意:該排序方法猴伶,是根據(jù)數(shù)組中,每一個(gè)元素首字符的unicode編碼進(jìn)...
    晚_f2a9閱讀 196評(píng)論 0 0
  • 1.sort()方法塌西,用于對(duì)數(shù)組排序 let arr1 = [33,55,22,11,44] co...
    kygo閱讀 944評(píng)論 0 1
  • [if !supportLists]第一章 [endif]基本語(yǔ)法 [if !supportLists]一蜗顽、[en...
    海綿寶寶_b8a2閱讀 533評(píng)論 0 0
  • 1.排序算法 sort()方法,用于對(duì)數(shù)組排序 注意:該排序方法雨让,是根據(jù)數(shù)組中雇盖,每一個(gè)元素首字符的unicode編...
    a79dc4b09a5f閱讀 194評(píng)論 0 0