国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

JavaScript!震驚你,只需一行代碼!

這篇具有很好參考價值的文章主要介紹了JavaScript!震驚你,只需一行代碼!。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

JavaScript!震驚你,只需一行代碼!

大廠面試題分享 面試題庫

前后端面試題庫 (面試必備) 推薦:★★★★★

地址:前端面試題庫??web前端面試題庫 VS java后端面試題庫大全

前些年的段子里,總有一些主考官的思想格局打不開,拋出這樣的問題:讓我在10秒鐘內(nèi)記住你。于是就有了,被打耳光的,被親的,被扒衣服的,摔手機的······但作為程序員,要怎么用代碼的別人呢?

Talk is cheap, show me the code!

很簡單:用簡單的邏輯和盡可能少的代碼行來解決一個復(fù)雜的問題。隨著 ES6 箭頭函數(shù)的引入,可以創(chuàng)建看起來優(yōu)雅而簡單的單行代碼。

在今天的文章中,我將與你一起來學(xué)習(xí) 11 個罕見但功能強大的單行代碼?,F(xiàn)在,準備好,讓我們開始吧!

1、獲取字符串中的字符數(shù)

獲取字符數(shù)是一個有用的實用程序,在許多情況下都很有用,我們可以使用它來獲取空格數(shù)和隨后的單詞數(shù),或者這可用于獲取字符串中某個分隔符的計數(shù)。

const characterCount = (str, char) => str.split(char).length - 1
復(fù)制代碼

這個想法很簡單,我們使用傳遞的參數(shù) char 拆分字符串并獲取返回數(shù)組的長度。由于每次將字符串拆分,都會比拆分器多一個;所以減去 1,我們有一個 characterCount 單行。

2、檢查對象是否為空

檢查對象的空性實際上比看起來要困難得多,即使對象為空,每次檢查對象是否等于 {} 也會返回 false。

幸運的是,下面的單行代碼正是我們想要的。

const isEmpty = obj => Reflect.ownKeys(obj).length === 0 && obj.constructor === Object
復(fù)制代碼

在這一行中,我們檢查對象的鍵長度是否等于 0,以及傳遞的參數(shù)是否為實際對象。

3、等待一段時間再執(zhí)行

在這一行中,我們將通過一些異步編程來弄臟我們的代碼。這個想法很簡單,在運行代碼時,如果你想等待一定的時間,這里是等待單行:

const wait = async (milliseconds) => new Promise((resolve) => setTimeout(resolve, milliseconds));
復(fù)制代碼

在等待單行中,我們創(chuàng)建一個承諾并在給定的時間后使用 setTimeout 函數(shù)解決它。

4、 獲取兩個日期之間的日差

在開發(fā) Web 應(yīng)用程序時,日期通常是實現(xiàn)起來最令人困惑的部分,因為有許多概念很容易被誤算。

這是一個強大的單線計算兩個日期之間的天差。但還有更多事情要做,正如我所做的那樣,你可以創(chuàng)建自己的單線來計算月、年差異等。

const daysBetween = (date1, date2) => Math.ceil(Math.abs(date1 - date2) / (1000 * 60 * 60 * 24))
復(fù)制代碼

這種單線背后的邏輯很容易理解。當(dāng)兩個日期相減時,返回值是以毫秒為單位的差值,要將毫秒轉(zhuǎn)換為天,我們必須將其除以毫秒、秒、分鐘和小時。

5、重定向到另一個 URL

如果你曾經(jīng)創(chuàng)建過真實的網(wǎng)站,我敢肯定你遇到過身份驗證邏輯。例如,非管理員用戶不應(yīng)該能夠訪問 /admin 路由。如果用戶嘗試,那么,你必須將其重定向到另一個 URL。

這個單線正是我上面提到的情況,但我認為你可以找到更多的用例。

const redirect = url => location.href = url
復(fù)制代碼

location 是全局窗口對象的方法,設(shè)置 href 屬性的行為與用戶單擊鏈接相同。

6、檢查設(shè)備上的觸摸支持

隨著可以連接到互聯(lián)網(wǎng)的設(shè)備越來越多,創(chuàng)建響應(yīng)式網(wǎng)站的必要性也在增加。20 年前,開發(fā)者應(yīng)該考慮網(wǎng)站的桌面版本,但今天超過 50% 的網(wǎng)絡(luò)流量來自觸摸移動設(shè)備。因此,基于設(shè)備的觸控支持采取一些行動是一個非常重要的概念。

const touchSupported = () => ('ontouchstart' in window || DocumentTouch && document instanceof DocumentTouch)
復(fù)制代碼

在這一行中,我們正在檢查文檔是否支持 touchstart 事件。

7、 在元素后插入 HTML 字符串

開發(fā) Web 應(yīng)用程序時,使用 JavaScript 更新 DOM 是一件很常見的事情。有一些基本的方法可以完成工作,但是,當(dāng)情況變得復(fù)雜時,就很難克服。

這是一個在 HTML 元素之后立即注入 HTML 字符串的單行代碼。經(jīng)過幾分鐘的思考和谷歌搜索,我相信你可以找到這個單線的以前版本。

const insertHTMLAfter = (html, el) => el.insertAdjacentHTML('afterend', html)
復(fù)制代碼

8、隨機排列數(shù)組

在開發(fā)中打亂一組數(shù)據(jù)是一個常見的情況,你可以隨時遇到,不幸的是,JavaScript 中沒有內(nèi)置數(shù)組的 shuffle 方法。

但是,這里有一個你可以每天使用的 shuffle one-liner:

const shuffle = arr => arr.sort(() => 0.5 - Math.random())
復(fù)制代碼

它利用數(shù)組的排序方法,在數(shù)組的前一個元素之前或之后隨機排序。

9、在網(wǎng)頁上獲取選定的文本

瀏覽器在全局窗口對象上有一個名為 getSelection 的內(nèi)置方法。使用此方法,你可以創(chuàng)建一個單行,返回網(wǎng)頁上突出顯示或選定的文本。

const getSelectedText = () => window.getSelection().toString()
復(fù)制代碼

10、獲取隨機布爾值

在開發(fā)時,尤其是在寫游戲代碼時,有時,我們會想隨機采取行動。在這些情況下,下面的單行代碼非常方便。

const getRandomBoolean = () => Math.random() >= 0.5
復(fù)制代碼

上面的單行代碼有 50/50 的機會返回真或假。因為生成的隨機數(shù)大于0.5的概率等于變小的概率。

然而,例如,如果你想得到一個概率為 70% 的隨機布爾值,那么你可以簡單地將 0.5 更改為 0.7 等等。

11、計算數(shù)組的平均值

可以使用多種方法計算數(shù)組的平均值。但邏輯對所有人都是一樣的,我們必須得到數(shù)組及其長度的總和;然后,通過除法給出平均值。

const average = (arr) => arr.reduce((a, b) => a + b) / arr.length
復(fù)制代碼

在平均單行中,我們使用 reduce 來獲取一行中數(shù)組的總和,而不是使用循環(huán)。然后,我們將它除以數(shù)組長度,這是一個數(shù)組的平均值。

總結(jié)

現(xiàn)在,我想你應(yīng)該知道了 11 個簡單但功能強大的 JavaScript 單行代碼。我之所以試著選擇那些不太流行和不太知名的技巧,主要是希望,這樣可以幫助你學(xué)習(xí)新的東西。那些我們每天使用的東西,我想你已經(jīng)會了。

- End -

?文章來源地址http://www.zghlxwxcb.cn/news/detail-410113.html

大廠面試題分享 面試題庫

前后端面試題庫 (面試必備) 推薦:★★★★★

地址:前端面試題庫??web前端面試題庫 VS java后端面試題庫大全

?

?

到了這里,關(guān)于JavaScript!震驚你,只需一行代碼!的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Java大廠常見1000道面試題集錦(一)

    Java大廠常見1000道面試題集錦(一)

    本系列為Java常見面試題集錦,持續(xù)更新中,包括筆試題和面試題, 建議收藏慢慢看 while(true){} 是一個無限循環(huán)的語句,它的作用是讓程序在執(zhí)行到該語句時不停地循環(huán)下去,直到程序被終止或者遇到 break、return 等跳出循環(huán)的語句。 無限循環(huán)的使用場景比較多,例如: 實現(xiàn)

    2024年02月06日
    瀏覽(56)
  • docker干貨分享-安裝redis-只需四個命令即可

    docker干貨分享-安裝redis-只需四個命令即可

    首先保證docker安裝成功: 因為已經(jīng)安裝成功,所以截圖只是成功后的每一步: 注意:如果不是root賬戶登錄的服務(wù)器,每個命令前面都需要加上sudo 第一步:下載redis鏡像 redis最好直接用最新版 docker pull redis ?通過docker images命令可以看到已經(jīng)下載了redis的鏡像,同時版本號是

    2024年01月18日
    瀏覽(20)
  • 震驚!強大的接口自動化測試框架2.0,unittest與pytest無縫穿插對接,可以像postman一樣編寫代碼

    震驚!強大的接口自動化測試框架2.0,unittest與pytest無縫穿插對接,可以像postman一樣編寫代碼

    接口自動化測試項目2.0 本框架主要是基于 Python + unittest + ddt + HTMLTestRunner + log + excel + mysql + 企業(yè)微信通知 + Jenkins 實現(xiàn)的接口自動化框架。 項目參與者: 陳勇志 技術(shù)支持郵箱: 262667641@qq.com 個人微信: Testing_player 個人博客地址: https://home.cnblogs.com/u/Nephalem-262667641 微信公眾號:測

    2024年02月12日
    瀏覽(29)
  • JavaScript 手撕大廠面試題數(shù)組扁平化以及增加版本 plus

    JavaScript 手撕大廠面試題數(shù)組扁平化以及增加版本 plus

    現(xiàn)在的前端面試手撕題是一個必要環(huán)節(jié),有點時候八股回答的不錯但是手撕題沒寫出來就會讓面試官印象分大減,很可能就掛了… 數(shù)組的 扁平化 其實就是將一個多層嵌套的數(shù)組轉(zhuǎn)換為只有一層的數(shù)組 比如: [1, [2, [3, [4, 5]]]] = [1,2,3,4,5,6] 一、實現(xiàn)一個 flat() easy 難度 二、用

    2024年02月14日
    瀏覽(18)
  • ElasticSearch內(nèi)容分享(八):ES大廠實踐 - 哈啰、騰訊、美團

    ElasticSearch內(nèi)容分享(八):ES大廠實踐 - 哈啰、騰訊、美團

    目錄 哈啰:記錄一次ElasticSearch的查詢性能優(yōu)化 騰訊:騰訊萬億級 Elasticsearch 技術(shù)實踐 美團:美團外賣搜索基于Elasticsearch的優(yōu)化實踐 搜索平臺的公共集群,由于業(yè)務(wù)眾多,對業(yè)務(wù)的es查詢語法缺少約束,導(dǎo)致問題頻發(fā)。業(yè)務(wù)可能寫了一個巨大的查詢直接把集群打掛掉,但是

    2024年02月04日
    瀏覽(22)
  • 某手機大廠安卓framework開發(fā)面試機試經(jīng)驗分享

    某手機大廠安卓framework開發(fā)面試機試經(jīng)驗分享

    hi,粉絲朋友們: 大家好!剛好現(xiàn)在處于一個金三銀四的時間,很多同學(xué)都希望找個好的工作,這邊剛好也有相關(guān)同學(xué)近期拿到了某手機大廠,具體啥大廠這里就不透露了,哈哈大家也很容易知道,需要機試的手機廠商就一兩個,不給自己找麻煩,文章里面統(tǒng)一用某手機大廠

    2024年04月25日
    瀏覽(32)
  • 搜索引擎之概論(1),渣本逆襲大廠面經(jīng)分享

    搜索引擎之概論(1),渣本逆襲大廠面經(jīng)分享

    3、第三代搜索引擎 隨著網(wǎng)絡(luò)信息的迅速膨脹,用戶希望能快速并且準確的查找到自己所要的信息,因此出現(xiàn)了第三代搜索引擎。相比前兩代第三代搜索引擎更加注重個性化、專業(yè)化智能化使用自動聚類、分類等人工智能技術(shù),采用區(qū)域智能識別及內(nèi)容分析技術(shù),利用人工介

    2024年04月28日
    瀏覽(15)
  • 自學(xué)Java怎么找工作?好程序員學(xué)員大廠面試經(jīng)驗分享!

    自學(xué)Java怎么找工作?好程序員學(xué)員大廠面試經(jīng)驗分享!

    簡歷要詳細: 簡歷中的項目用到的技術(shù)點和個人負責(zé)的模塊盡量寫詳細一些。其次,根據(jù)自己項目中用到的熟悉的技術(shù)點,在個人技能介紹模塊去突出,面試官基本會根據(jù)你簡歷上寫的去提問的,這樣我們回答起來就會更加得心應(yīng)手。 ? 百度面試總結(jié): 每次面試完要及時去

    2024年02月04日
    瀏覽(106)
  • 解決Github無法上傳>100M文件——只需兩行代碼

    解決Github無法上傳>100M文件——只需兩行代碼

    合作推廣,分享一個人工智能學(xué)習(xí)網(wǎng)站。計劃系統(tǒng)性學(xué)習(xí)的同學(xué)可以了解下,點擊助力博主脫貧( ?? ω ?? )? 廢話不多說,如果在githubpush文件太大時,會報錯:this exceeds GitHub’s file size limit of 100.00 MB ,如下圖: 提示說明github最大文件限制是100M,此時需要撤回commit,在編

    2024年04月28日
    瀏覽(26)
  • 【python】只需一段代碼,剪輯一個視頻——Moviepy詳解

    【python】只需一段代碼,剪輯一個視頻——Moviepy詳解

    提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔 知道嗎,用moviepy一行代碼就能夠快速剪輯視頻中某個區(qū)間的片段: clip = VideoFileClip(“videoplayback.mp4”).subclip(50,60) 這一段代碼,能夠在3秒內(nèi)將videoplayback.mp4的50秒-60秒的視頻片段提取出來,非常方便。

    2023年04月16日
    瀏覽(19)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包