JavaScript中如何使用擴展運算符

這篇文章給大家介紹JavaScript中如何使用擴展運算符,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

創新互聯云計算的互聯網服務提供商,擁有超過13年的服務器租用、成都西信服務器托管、云服務器、虛擬主機、網站系統開發經驗,已先后獲得國家工業和信息化部頒發的互聯網數據中心業務許可證。專業提供云主機、虛擬主機、域名與空間、VPS主機、云服務器、香港云服務器、免備案服務器等。

個人對…常用方法的理解

…作為擴展運算符

這里指的擴展是針對數組或字符串或偽數組(就是類似于數組這樣的可以用下標將每一項取出來,并且有總體長度屬性的數據,以下簡稱為可遍歷對象)的擴展,代表的含義是將數組中的每一項取出來,并用,進行分隔(當使用的時候是這樣,如果單獨打印的話是用空格分隔)。

  • …可以將一個一維數組進行展開,即只能去掉最外面一層的[];

  • 他的結果就是數組被去掉[]的結果,不是字符串也不是數組也不是別的東西,所以按照它逗號分隔的方式,可以將它作為函數的形參傳遞也可以外面再套一個[],當做數組作為一個函數的return,但是不能直接return,可以用console輸出。

<script>
        let arr = [
            5,
            "str",
            [1,2,3],
            ["hello","world"],
        ];

        function fn(arr){
            console.log(...arr);   
            return [...arr]        
        }
        function fo(...arr){
            console.log(arr);
        }
        // function foo(arr){
        //     return ...arr;  //    Expression expected.
        // }
        console.log(fn(arr));     //  5 "str" (3) [1, 2, 3] (2) ["hello", "world"]
                                  //  (4) [5, "str", Array(3), Array(2)]
		//   外面的[]去掉了,但是里面的[1,2,3]、["hello","world"]的[]沒有去掉
    </script>

…作為剩余運算符

  • 剩余運算符的意思就是我不知道這個參數總共有多少個,我用…表示剩余的,同樣它只適用于數組。

  • 而且這兩種方法得到的結果都是一個數組,而不是數組去掉[]。

  • 主要有以下兩種方法:

    • 第一種: 所有的參數都是未知的,不知道傳幾個。

    • 第二種: 有一個或多個已知參數,其余參數未知。

//  第一種所有參數都未知function aa(...arr){
    console.log(arr);}aa(5,"sss",22)     //  (3) [5, "sss", 22]     =>    結果是一個數組//  第二種,有兩個已知參數function ff(a,b,...arr){
    console.log(arr)}ff(2,3,"str","111")    // (2) ["str", "111"]   =>    結果是一個數組

特性其他應用:

分解字符串

可以用str.split("")也可以用[…str]

偽數組轉換為真數組

由于他可以將可遍歷對象用數組去掉[]的方法顯示出來,而且可以對偽數組使用,所以很好理解對偽數組使用后將偽數組的形式轉變后,在加上[]就是真數組了,可以調用真數組的方法。 => […arr.]

淺拷貝

由于它是對一個可遍歷的對象使用循環過來的,所以它不會改變原數組,會進行一個淺克隆的操作,因此可以用于數組的淺拷貝。 => […arr]

數組扁平化

  <script>
        // 簡單的二維數組(一個數組里面又套了一個數組  =>  二維)
        let arr = [
            5,
            "str",
            [1,2,3],
            ["hello","world"],
        ];

        // 三維數組(一個數組里面套一個數組,里面又套一個數組)
        let arr1 = [
            5,
            "str",
            [
                1,2,3,
                ["ccc","dddd"]
            ],
            ["hello","world"],
        ];


        function flatten(arr){
            return [].concat(...arr);
        }

        function flatten1(arr){
            return [].concat(...arr.map(x => Array.isArray(x) ? flatten1(x) : x));
        }
        console.log(flatten(arr));    // (7) [5, "str", 1, 2, 3, "hello", "world"]
        console.log(flatten1(arr));   // (7) [5, "str", 1, 2, 3, "hello", "world"]
        console.log(flatten(arr1));   // (8) [5, "str", 1, 2, 3, Array(2), "hello", "world"]
        console.log(flatten1(arr1));  // (9) [5, "str", 1, 2, 3, "ccc", "dddd", "hello", "world"]
    </script>

關于JavaScript中如何使用擴展運算符就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

文章名稱:JavaScript中如何使用擴展運算符
分享URL:http://m.kartarina.com/article14/pippde.html

成都網站建設公司_創新互聯,為您提供響應式網站App設計網站維護定制開發網站收錄企業建站

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

綿陽服務器托管
主站蜘蛛池模板: 亚洲一区无码精品色| 国产成人无码免费网站| 精品无码久久久久久午夜| 国产爆乳无码视频在线观看| 无码一区二区三区| 免费无码黄网站在线观看| 久久精品无码专区免费| 亚洲精品偷拍无码不卡av| 人妻老妇乱子伦精品无码专区| 无码内射中文字幕岛国片| 免费无码又爽又刺激聊天APP | 国产成人AV片无码免费| 久久无码中文字幕东京热| 久久精品日韩av无码| 97久久精品亚洲中文字幕无码| yy111111少妇无码影院| 久久久久亚洲精品无码网址色欲| 亚洲中文字幕无码一久久区| 日韩电影无码A不卡| 无遮掩无码h成人av动漫| 色噜噜综合亚洲av中文无码| 午夜无码中文字幕在线播放| 特级毛片内射www无码| 久热中文字幕无码视频| 国产精品无码日韩欧| 亚洲最大av无码网址| 精品无码三级在线观看视频| 国产午夜无码片在线观看影院| av潮喷大喷水系列无码| 91精品久久久久久无码| 十八禁无码免费网站| 亚洲VA成无码人在线观看天堂| 台湾无码AV一区二区三区| 国产成人无码专区| 国产福利电影一区二区三区久久老子无码午夜伦不 | 亚洲日韩精品无码专区加勒比| 亚洲AV无码一区东京热| 亚洲2022国产成人精品无码区| 亚洲AV无码1区2区久久| 人妻无码一区二区三区免费| 久久精品亚洲AV久久久无码|