RM新时代网站-首页

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

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

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

22個(gè)好用的、方便的JavaScript單行程序

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

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

22個(gè)好用的、方便的JavaScript單行程序

1.隨機(jī)ID生成

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

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

console.log(a)

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

72pklaoe38u

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

在很多情況下,我們需要在一個(gè)范圍內(nèi)生成一個(gè)隨機(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中,我們沒(méi)有一個(gè)模塊,因?yàn)?a href="http://hljzzgx.com/tags/python/" target="_blank">python有 random.shuffle(),但還是有一種方法可以在一行代碼中洗牌一個(gè)數(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ù)。要生成一個(gè)隨機(jī)布爾值,我們需要隨機(jī)獲取一個(gè)介于0到1之間的數(shù)字,然后檢查它是否大于或小于0.5。

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

console.log(randomBoolean());

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

false

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

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

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)上找到的最簡(jiǎn)單的方法之一。

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

7.交換兩個(gè)變量

下面的代碼展示了一些簡(jiǎn)單的方法來(lái)交換兩個(gè)變量,而不需要使用第三個(gè)變量,只需要一行代碼。

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ù)在同一行代碼中同時(shí)分配多個(gè)變量。

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

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

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

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

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

true

console.log(isEven(3));

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

false

10.FizzBuzz

這個(gè)問(wèn)題是用來(lái)檢查程序員核心的著名面試問(wèn)題之一。在這個(gè)測(cè)試中,我們需要編寫(xiě)一個(gè)程序來(lái)打印從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.回文

回文是一個(gè)字符串或數(shù)字,當(dāng)它被反轉(zhuǎn)時(shí)看起來(lái)完全相同。例如: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ù)組中的所有元素是否都滿(mǎn)足特定條件

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.計(jì)算兩個(gè)給定日期之間的天數(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

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

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

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

toNumber = str =》 +str;

toNumber = str =》 Number(str);

result = toNumber(“2”);

console.log(result)

console.log(typeof(result))

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

2

number

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

const cars = [‘

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

    關(guān)注

    117

    文章

    3785

    瀏覽量

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

    關(guān)注

    30

    文章

    4779

    瀏覽量

    68520
  • javascript
    +關(guān)注

    關(guān)注

    0

    文章

    516

    瀏覽量

    53850
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    如何成為一個(gè)偉大的javascript程序

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

    JavaScript無(wú)處不在

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

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

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

    JavaScript 簡(jiǎn)介

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

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

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

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

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

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

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

    消息傳遞并行程序的變異測(cè)試

    行程序執(zhí)行的不確定性,增加了測(cè)試的復(fù)雜性和難度.研究消息傳遞并行程序的變異測(cè)試,提出其弱變異測(cè)試轉(zhuǎn)化方法,以提高該程序變異測(cè)試的效率.首先,根據(jù)消息傳遞并行程序包含語(yǔ)句的類(lèi)型和語(yǔ)句變
    發(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語(yǔ)言設(shè)計(jì)秒針會(huì)跳動(dòng)的時(shí)鐘程序免費(fèi)下載

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

    永恒串行程序員指南

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

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

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

    20個(gè)非常有用的Python單行代碼

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

    javascript:;怎么解決

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

    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á)到指定的條件。以下是一個(gè)簡(jiǎn)單的示例: for
    的頭像 發(fā)表于 12-06 14:59 ?1488次閱讀
    RM新时代网站-首页