1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        17個(gè)每個(gè)開發(fā)人員都應(yīng)該知道的頂級 JavaScript 技巧

        共 4161字,需瀏覽 9分鐘

         ·

        2021-08-25 08:30

        英文 | https://levelup.gitconnected.com/17-clever-javascript-tricks-that-every-developer-should-use-e7f299e49896

        翻譯 | 楊小二


        1、刪除重復(fù)項(xiàng)
        你主要使用循環(huán)來迭代整個(gè) Array 以從中刪除重復(fù)項(xiàng)。 但我將向你展示通過編寫更少的代碼來完成相同工作的專業(yè)方法。
        let array = [100, 200, 200, 120, 238, 201, 201]let newArray = Array.from(new Set(array));console.log(newArray) // [ 100, 200, 120, 238, 201 ]

        2、數(shù)組的最后一個(gè)元素

        當(dāng)你需要獲取數(shù)組的最后一個(gè)元素時(shí), slice 方法在 JavaScript 中非常有用。 只需將負(fù)數(shù)作為參數(shù)傳遞,它就會(huì)從最后一個(gè)索引開始對數(shù)組進(jìn)行切片。

        Slice 方法的最大好處是它不會(huì)影響你的原始數(shù)組。

        let array = [1, 3, 4, 5, 6, 9, 10, 12]console.log(array.slice(-1)) // [12]console.log(array.slice(-2)) // [10, 12]console.log(array.slice(-4)) // [6, 9 ,10, 12]

        3、帶有“Reduce”的數(shù)組的平均值

        Reduce 方法是一種非常棒的遍歷數(shù)組并獲得單個(gè)輸出的方法。 使用 Reduce 方法的一個(gè)示例是獲取數(shù)組中值的平均值。

        let array = [100, 120, 150, 101, 301]let sum = array.reduce((previous, current)=> current += previous)let average = sum / array.lengthconsole.log(average) // 154.4

        首先,我們聲明一個(gè)包含值的數(shù)組,然后,我們使用 Reduce 方法計(jì)算所有值的總和,最后,我們將總和除以數(shù)組的長度以獲得平均值。

        4、具有唯一值的數(shù)組

        擁有重復(fù)的數(shù)組對我們來說總是一個(gè)麻煩。 在 JavaScript 中,你可能使用map或filter來清除數(shù)組中的重復(fù)值。 但是我們還有另一種選擇,那就是使用Set 對象。 看看下面的例子。

        let array = [1, 3, 3, 1, 2, 4, 5, 6 ,5, 2]const uniqueArray = [...new Set(array)]console.log(uniqueArray) // [1, 3, 2, 4, 5, 6]

        5、縮短數(shù)組

        想象一下,你有一個(gè)包含 100 個(gè)項(xiàng)目的數(shù)組,并且你想縮短它。 在 JavaScript 中,你可能會(huì)使用 splice 方法,但我將向你展示另一種截?cái)鄶?shù)組的方法。

        let array = [100, 200, 300, 400, 500, 600, 700]//shortening your arrayarray.length = 4console.log(array) // [100, 200, 300, 400]

        6、將對象與擴(kuò)展方法結(jié)合

        假設(shè)你想將多個(gè)對象合并為一個(gè)。 在 JavaScript 中,你可以使用 Spread 方法,這是實(shí)現(xiàn)此目的的好方法。 在下面的示例代碼中,我使用 spread 方法組合了兩個(gè)對象。

        示例如下:

        let object1 = {'a' : 1, 'b' : 2, 'c': 3}let object2 = {'d' : 4, 'e' : 5}//combining the objectsconst combine = {...object1 , ...object2}console.log(combine) //  {'a' : 1, 'b' : 2, 'c': 3, 'd' : 4, 'e' : 5}

        7、在數(shù)組中查找索引

        假設(shè)你必須找到數(shù)組中特定元素的索引。 你可能會(huì)為此使用 findindex() 方法。 但是,在這個(gè)技巧中,我將向你展示另一種以更有效的方式完成相同工作的方法。

        let array = [1, 4, 78, 90, 23, 123, 100, 230]//IndexOf Methodconsole.log(array.indexOf(123)) // 5console.log(array.indexOf(23)) // 4console.log(array.indexOf(1)) // 0

        8、展平數(shù)組

        你是否有一個(gè)大型二維數(shù)組并想將其展平以制作單個(gè)一維數(shù)組? 這個(gè)技巧可能會(huì)對你有所幫助。 查看下面的示例代碼。

        let array = [1, 2, [3, 4], [5, 6, 7, ]];const newArray = array.flat()console.log(newArray) // [1, 2, 3, 4, 5, 6, 7]

        9、以好的方式交換值

        我敢打賭,你們中的許多新 JavaScript 程序員或任何語言程序員都曾使用變量 temp 在兩個(gè)值之間交換。 

        但是我將向你展示如何在不使用臨時(shí)變量或第三方變量的情況下交換它們。

        let a = 5;let b = 7;console.log(a, b); // 5 7[a, b] = [b, a];console.log(a, b); // 7 5

        10、用隨機(jī)范圍內(nèi)值填充數(shù)組

        const RandomIntArray = (min, max, n = 1) => Array.from({ length: n }, () => Math.floor(Math.random() * (max - min + 1)) + min)RandomIntArray(5, 20, 4) // [ 8, 17, 13, 9]

        11、合并兩個(gè)數(shù)組

        假設(shè)你有兩個(gè)數(shù)組并且你想將它們組合起來。 此方法將幫助你快速完成此操作。

        let array1 = [1, 2, 3, 4, 5, 6, 7];let array2 = [8, 9, 10, 11, 12];const merge = array1.concat(array2)console.log(merge) // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]

        12、獲取當(dāng)前對象的類型

        這個(gè)技巧將幫助你了解任何對象的類型。 假設(shè)你使用 JavaScript 從網(wǎng)站請求數(shù)據(jù),并且你想知道你收到的數(shù)據(jù)類型是字符串、整數(shù)等。

        const GetType = v => v === undefined ? 'undefined' : v === null ? 'null' :   v.constructor.name.toLowerCase();console.log(GetType("Programming")) // Stringconsole.log(GetType(123)) //Integer

        13、當(dāng)前網(wǎng)址

        這個(gè)技巧將幫助你獲取正在運(yùn)行 Javascript 的當(dāng)前 URL。 假設(shè)你想查看你當(dāng)前看到的網(wǎng)頁的網(wǎng)址,那么你可以使用下面的代碼。

        let GetCurrentURL = () => window.location.href;GetCurrentURL() //https://medium.com/

        14、計(jì)算數(shù)組中出現(xiàn)的次數(shù)

        假設(shè)你有很大的重復(fù)值數(shù)組,并且你想計(jì)算特定元素的出現(xiàn)次數(shù)。

        const CountOcc = (array, val) => array.reduce((x, v) => (v === val ? x + 1 : x), 0);console.log(CountOcc([3, 3, 4, 1, 2, 5, 3, 6],3)) // 3console.log(CountOcc([3, 4, 4, 1, 3, 6],4)) // 2

        15、錯(cuò)誤處理

        在每種編程語言中,出現(xiàn)錯(cuò)誤都是一種痛苦。 這個(gè)技巧將幫助你處理 JavaScript 編程中出現(xiàn)的錯(cuò)誤。

        try {try condition}catch (exception_var) {catch condition}

        16、修剪空格

        本技巧將指導(dǎo)你使用正則表達(dá)式修剪字符串中的空格。 當(dāng)你擁有原始數(shù)據(jù)并且想要?jiǎng)h除空格時(shí),此提示將非常有用。

        let string = " a b    cd   e   ";let Trim = string.replace(/\s+/g, '');console.log(Trim)

        17、數(shù)字化整數(shù)

        本技巧將向你展示如何將任何整數(shù)轉(zhuǎn)換為數(shù)組格式。 

        查看下面的代碼示例。

        const DigitizeInt = n => [...`${n}`].map(i => parseInt(i));DigitizeInt(4560) // [4, 5, 6, 0]DigitizeInt(131) // [1,3,1]

        最后的想法

        我希望你覺得這篇文章有用和有趣。 我主要閱讀 stackoverflow 和 Quora 網(wǎng)站以獲取新的 JavaScript 技巧。 隨時(shí)分享 JavaScript 的技巧和竅門。 

        如果你覺得這篇文章有幫助,請與你的朋友分享這篇文章。


        學(xué)習(xí)更多技能

        請點(diǎn)擊下方公眾號

        瀏覽 54
        點(diǎn)贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評論
        圖片
        表情
        推薦
        點(diǎn)贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            大香蕉网址 | 天天射视频 | 三级伦理片在线 | 国产精品伦视频看免费三 | 日在线视频 | 揉我胸啊嗯~出水了l | 黄色情成人观看 | 日韩a在线观看 | 亚洲色图乱伦小说 | 中美女子成人毛片… |