1. 9 個極其強大的 JavaScript 技巧

        共 2045字,需瀏覽 5分鐘

         ·

        2020-12-31 16:32

        ? ?作者 | Fatima Nawaz
        譯者 | 王強?? 來源?|?前端之巔

        所謂 hacker 方法,就是一種不斷改進和迭代的構(gòu)建方法。有著 hacker 精神的程序員相信事物總有改進的余地,沒有什么是完美的存在。每一段代碼都有進一步優(yōu)化的空間,每一個操作都有更便捷的技巧。

        下面列舉一些非常強大的 JavaScript hack 技巧。

        1. Replace All

        我們知道 string.Replace() 函數(shù)只會替換第一個項目。

        你可以在這個正則表達式的末尾添加 /g 來替換所有內(nèi)容。
        var?example = "potato potato";
        console.log(example.replace(/pot/, "tom"));
        // "tomato potato"
        console.log(example.replace(/pot/g, "tom"));
        // "tomato tomato"
        2. 提取唯一值
        我們可以使用 Set 對象和 Spread 運算符,創(chuàng)建一個剔除重復值的新數(shù)組。
        var?entries = [1, 2, 2, 3, 4, 5, 6, 6, 7, 7, 8, 4, 2, 1]
        var?unique_entries = [...new Set(entries)];
        console.log(unique_entries);
        // [1, 2, 3, 4, 5, 6, 7, 8]
        3. 將數(shù)字轉(zhuǎn)換為字符串
        我們只需使用帶空引號的串聯(lián)運算符即可。
        var?converted_number = 5?+ "";
        console.log(converted_number);
        // 5
        console.log(typeof?converted_number);
        // string
        4. 將字符串轉(zhuǎn)換為數(shù)字

        用 + 運算符即可。

        請注意這里的用法,因為它只適用于“字符串數(shù)字”。
        the_string = "123";
        console.log(+the_string);
        // 123
        the_string = "hello";
        console.log(+the_string);
        // NaN
        5. 隨機排列數(shù)組中的元素
        每天我都在隨機排來排去……
        var?my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9];
        console.log(my_list.sort(function() {
        ????return?Math.random() - 0.5
        }));
        // [4, 8, 2, 9, 1, 3, 6, 5, 7]
        6. 展平多維數(shù)組
        只需使用 Spread 運算符。
        var?entries = [1, [2, 5], [6, 7], 9];
        var?flat_entries = [].concat(...entries);
        // [1, 2, 5, 6, 7, 9]
        7. 短路條件
        舉個例子:
        if?(available) {
        ????addToCart();
        }
        只需使用變量和函數(shù)就能縮短它:
        available?&&?addToCart()
        8. 動態(tài)屬性名稱
        我一直以為我必須先聲明一個對象,然后才能分配一個動態(tài)屬性。
        const?dynamic?= 'flavour';
        var?item = {
        ????name: 'Coke',
        ????[dynamic]: 'Cherry'
        }
        console.log(item);
        // { name: "Coke", flavour: "Cherry" }
        9. 使用 length 調(diào)整大小 / 清空數(shù)組

        基本上就是覆蓋數(shù)組的 length。

        如果我們要調(diào)整數(shù)組的大?。?br mpa-from-tpl="t">
        var?entries = [1, 2, 3, 4, 5, 6, 7]; 
        console.log(entries.length);
        // 7
        entries.length = 4;
        console.log(entries.length);
        // 4
        console.log(entries);
        // [1, 2, 3, 4]
        如果我們要清空數(shù)組:
        var?entries = [1, 2, 3, 4, 5, 6, 7]; 
        console.log(entries.length);
        // 7
        entries.length = 0;
        console.log(entries.length);
        // 0
        console.log(entries);
        // []

        你也在搜尋 JavaScript hacker 技巧的話,希望本文對你有幫助。

        最后

        • 關(guān)注公眾號【前端宇宙】,每日獲取好文推薦
        • 添加微信,入群交流

        瀏覽 46
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
          
          

            1. 国产三级网站 | 欧美一区二区综合 | 免费专区一色哟哟 | 插插激情网| 亚洲国产高清视频 |