0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

22個好用的、方便的JavaScript單行程序

如意 ? 來源:前端全棧開發(fā)者 ? 作者:Abhay Parashar ? 2021-05-05 17:39 ? 次閱讀

全世界有超過1000萬的Javascript開發(fā)人員,而且這個數(shù)字每天都在增加。盡管JavaScript更出名的是它的動態(tài)特性,但它也有許多其他很棒的特性。在這篇博客中,我們將看到20個你應(yīng)該知道的JavaScript單行程序。

22個好用的、方便的JavaScript單行程序

1.隨機(jī)ID生成

當(dāng)你在進(jìn)行原型設(shè)計并需要唯一的id時,這可以成為你的首選功能。

const a = Math.random().toString(36).substring(2);

console.log(a)

----------------------------

72pklaoe38u

2.生成范圍內(nèi)的隨機(jī)數(shù)

在很多情況下,我們需要在一個范圍內(nèi)生成一個隨機(jī)數(shù)。Math.random函數(shù)可以幫助我們生成隨機(jī)數(shù),然后將其轉(zhuǎn)換為所需的范圍。

max = 20

min = 10

var a = Math.floor(Math.random() * (max - min + 1)) + min;

console.log(a)

-------------------------

17

3.隨機(jī)排列數(shù)組(洗牌)

在JavaScript中,我們沒有一個模塊,因?yàn)?a href="http://srfitnesspt.com/tags/python/" target="_blank">python有 random.shuffle(),但還是有一種方法可以在一行代碼中洗牌一個數(shù)組。

var arr = [“A”, “B”, “C”,“D”,“E”];

console.log(arr.slice().sort(() =》 Math.random() - 0.5))

------------------------------

[ ‘C’, ‘B’, ‘A’, ‘D’, ‘E’ ]

4.獲取隨機(jī)布爾值

Javascript中的 Math.random 函數(shù)可用于生成范圍之間的隨機(jī)數(shù)。要生成一個隨機(jī)布爾值,我們需要隨機(jī)獲取一個介于0到1之間的數(shù)字,然后檢查它是否大于或小于0.5。

const randomBoolean = () =》 Math.random() 》= 0.5;

console.log(randomBoolean());

---------------------------------------

false

5.生成隨機(jī)十六進(jìn)制代碼

您可以使用這個一行程序挑戰(zhàn)自己作為web開發(fā)人員的能力。這個一行程序?qū)⑸梢粋€隨機(jī)的十六進(jìn)制代碼。您可以使用一行程序生成3-6種顏色代碼,這將為您創(chuàng)建一個顏色托盤。

console.log(‘#’ + Math.floor(Math.random() * 0xffffff).toString(16).padEnd(6, ‘0’));

------------------1st Run------------

#48facd

------------------2nd Run-------------

#93d806

------------------3rd Run-------------

#9072f9

6.反轉(zhuǎn)字符串

反轉(zhuǎn)字符串有很多方法,但這是我在互聯(lián)網(wǎng)上找到的最簡單的方法之一。

const reverse = str =》 str.split(‘’).reverse().join(‘’); console.log(reverse(‘javascript’)); ---------------------------------------- tpircsavaj

7.交換兩個變量

下面的代碼展示了一些簡單的方法來交換兩個變量,而不需要使用第三個變量,只需要一行代碼。

a = 5

b = 7

---------方法 1---------

b = [a, a = b][0]; // One Liner

----------方法 2-----------

[a,b] = [b,a];

console.log(“A=”,a)

console.log(“B=”,b)

8.多變量分配

像Python一樣,JavaScript還可以使用這種巧妙的解構(gòu)技術(shù)在同一行代碼中同時分配多個變量。

var [a,b,c,d] = [20,14,30,“COD”] console.log(a,b,c,d) ------------------------------------ 20 14 30 COD

9.檢查偶數(shù)和奇數(shù)

有很多方法可以做到這一點(diǎn),最簡單的方法之一就是使用箭頭函數(shù)并只用一行編寫整個代碼。

const isEven = num =》 num % 2 === 0; console.log(isEven(2));

---------------------------------

true

console.log(isEven(3));

----------------------------------

false

10.FizzBuzz

這個問題是用來檢查程序員核心的著名面試問題之一。在這個測試中,我們需要編寫一個程序來打印從1到100的數(shù)字。但如果是3的倍數(shù),則打印“Fizz”而不是數(shù)字,如果是5的倍數(shù),則打印“Buzz”。

for(i=0;++i《10;console.log(i%5?f||i:f+‘Buzz’))f=i%3?‘’:‘Fizz’

----------------------------------

1

2

Fizz

4

Buzz

Fizz

7

8

Fizz

11.回文

回文是一個字符串或數(shù)字,當(dāng)它被反轉(zhuǎn)時看起來完全相同。例如:abba,121等。

const isPalindrome = str =》 str === str.split(‘’).reverse().join(‘’);

result = isPalindrome(‘a(chǎn)bcba’);

console.log(result)

-----------------------------------

true

result = isPalindrome(‘a(chǎn)bcbc’);

console.log(result)

---------------------------------

false

12.檢查數(shù)組中的所有元素是否都滿足特定條件

const hasEnoughSalary = (salary) =》 salary 》= 30000

const salarys = [70000, 19000, 12000, 30000, 15000, 50000]

result = salarys.every(hasEnoughSalary)

console.log(result)

-------------------------------

false

const salarys = [70000, 190000 ,120000, 30000, 150000,50000]

result = salarys.every(hasEnoughSalary) // Results in false

console.log(result)

---------------------------------

true

13.計算兩個給定日期之間的天數(shù)

const days = (date, otherDate) =》 Math.ceil(Math.abs(date - otherDate) / (86400000));

result = days(new Date(‘2020-04-15’), new Date(‘2021-01-15’));

console.log(result)

--------------------------------------------------------

275

為了計算兩個日期之間的天數(shù),我們首先找到兩個日期之間的絕對值,然后用86400000除以它,它等于一天內(nèi)的毫秒數(shù),最后,我們四舍五入并返回結(jié)果。

14.將字符串轉(zhuǎn)換為數(shù)字

將字符串轉(zhuǎn)換為數(shù)字的一種非常簡單的方法是使用類型轉(zhuǎn)換。

toNumber = str =》 +str;

toNumber = str =》 Number(str);

result = toNumber(“2”);

console.log(result)

console.log(typeof(result))

----------------------------------

2

number

15.合并多個數(shù)組

const cars = [‘

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 程序
    +關(guān)注

    關(guān)注

    115

    文章

    3743

    瀏覽量

    80661
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4694

    瀏覽量

    68075
  • javascript
    +關(guān)注

    關(guān)注

    0

    文章

    515

    瀏覽量

    53715
收藏 人收藏

    評論

    相關(guān)推薦

    如何成為一偉大的javascript程序

    JavaScript程序員,也是一使用《Pro JavaScript Design Patterns》用于講座的老師,所以這本書值得一閱。在學(xué)習(xí)的同時,要試著回答一些問題,例如:原
    發(fā)表于 01-05 16:07

    JavaScript無處不在

    在移動設(shè)備上的應(yīng)用程序會帶有一web視圖,用構(gòu)建動態(tài)web應(yīng)用程序相同的方式建立用戶界面。用戶界面雖然是用HTML以及CSS樣式實(shí)現(xiàn)的,但是所有的交互都是用JavaScript創(chuàng)建
    發(fā)表于 01-10 16:54

    掃碼槍識別系統(tǒng)如何知道掃碼完成往下執(zhí)行程序

    最近想做一掃碼槍識別系統(tǒng),本人屬于菜鳥級別,之前玩PLC的,不太懂Labview,現(xiàn)在搞不明白如何知道掃碼完成往下執(zhí)行程序,查了資料說需要把字符串設(shè)為焦點(diǎn),關(guān)掉自動換行功能,啟用限于單行輸入,這些
    發(fā)表于 04-01 23:29

    JavaScript 簡介

    對事件作出反應(yīng)。比如對按鈕的點(diǎn)擊:點(diǎn)擊這里```alert() 函數(shù)在 JavaScript 中并不常用,但它對于代碼測試非常方便。onclick 事件只是您即將在本教程中學(xué)到的眾多事件之一
    發(fā)表于 09-09 17:30

    javascript資料下載(含源碼,教材,ppt)

    javascript資料下載(含源碼,教材,ppt):Javascript高級程序設(shè)計,107常用Javascript語句,
    發(fā)表于 10-21 09:00 ?12次下載
    <b class='flag-5'>javascript</b>資料下載(含源碼,教材,ppt)

    Javascript高級程序設(shè)計 (pdf下載)

    Javascript高級程序設(shè)計JavaScript是一種不嚴(yán)格基于Java的面向?qū)ο?b class='flag-5'>程序設(shè)計語言,以嵌入式Java小程序的形式在Web上廣
    發(fā)表于 10-21 09:06 ?0次下載
    <b class='flag-5'>Javascript</b>高級<b class='flag-5'>程序</b>設(shè)計 (pdf下載)

    javascript應(yīng)用程序經(jīng)典實(shí)例詳解

    javascript應(yīng)用程序經(jīng)典實(shí)例這本書還可以,所以和大家分享。
    發(fā)表于 11-10 16:56 ?8次下載

    消息傳遞并行程序的變異測試

    行程序執(zhí)行的不確定性,增加了測試的復(fù)雜性和難度.研究消息傳遞并行程序的變異測試,提出其弱變異測試轉(zhuǎn)化方法,以提高該程序變異測試的效率.首先,根據(jù)消息傳遞并行程序包含語句的類型和語句變
    發(fā)表于 01-10 15:31 ?0次下載

    如何進(jìn)行程序的擴(kuò)展

    本文檔的主要內(nèi)容詳細(xì)介紹的是程序的擴(kuò)展性如何進(jìn)行程序的擴(kuò)展。
    發(fā)表于 04-26 18:26 ?0次下載
    如何進(jìn)<b class='flag-5'>行程序</b>的擴(kuò)展

    使用JavaScript語言設(shè)計秒針會跳動的時鐘程序免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用JavaScript語言設(shè)計秒針會跳動的時鐘程序免費(fèi)下載。
    發(fā)表于 06-13 16:58 ?0次下載
    使用<b class='flag-5'>JavaScript</b>語言設(shè)計秒針會跳動的時鐘<b class='flag-5'>程序</b>免費(fèi)下載

    永恒串行程序員指南

    永恒串行程序員指南
    發(fā)表于 05-25 14:08 ?4次下載
    永恒串<b class='flag-5'>行程序</b>員指南

    介紹一JavaScript數(shù)據(jù)網(wǎng)格組件

    FusionGrid是一高度直觀且可自定義的JavaScript數(shù)據(jù)網(wǎng)格組件,適用于網(wǎng)絡(luò)和移動應(yīng)用程序。它允許您在儀表板中構(gòu)建數(shù)據(jù)網(wǎng)格,與FusionCharts一樣簡單優(yōu)雅。
    的頭像 發(fā)表于 08-20 16:37 ?986次閱讀

    20非常有用的Python單行代碼

    有用的 Python 單行代碼片段,只需一行代碼即可解決特定編碼問題!
    的頭像 發(fā)表于 03-14 17:45 ?849次閱讀

    javascript:;怎么解決

    javascript:” 是一JavaScript偽協(xié)議,它通常出現(xiàn)在URL地址欄或鏈接中,用于執(zhí)行JavaScript代碼。然而,有時它可能會導(dǎo)致一些問題,特別是在一些不支持
    的頭像 發(fā)表于 11-26 14:39 ?6780次閱讀

    idea如何多次運(yùn)行程序

    供一些實(shí)際的示例。 內(nèi)容: 一、使用循環(huán)結(jié)構(gòu) 1.1 for循環(huán) 最常用的多次運(yùn)行程序的方法之一是使用循環(huán)結(jié)構(gòu)。其中最常用的循環(huán)結(jié)構(gòu)是for循環(huán)。for循環(huán)可以重復(fù)執(zhí)行一段代碼多次,直到達(dá)到指定的條件。以下是一簡單的示例: for
    的頭像 發(fā)表于 12-06 14:59 ?1220次閱讀