JavaScript反轉數組常用的4種方法

目錄 1.使用For循環反轉數組: 2.使用Unshift()方法反轉數組: 3.就地反轉陣列: (改變原數組) 4.直接調用 reverse(): 總結 1.使用For循環反轉數組: 我們將為這種方法使用遞減循環,以迭
目錄
  • 1.使用For循環反轉數組:
  • 2.使用Unshift()方法反轉數組:
  • 3.就地反轉陣列: (改變原數組)
  • 4.直接調用 reverse():
  • 總結

1.使用For循環反轉數組:

我們將為這種方法使用遞減循環,以迭代給定數組的每個元素。 數組的最后一個元素將是循環的起點(arr.length — 1) ,它將一直運行直到到達數組的起點(i ≥ 0)

        var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
        function reverseArray1(arr) {
            var newArr = [];
            for (let index = arr.length - 1; index >= 0; index--) {
                newArr.push(arr[index]);
            }
            return newArr;
        }
        console.log(reverseArray1(arr));

reverseArray1函數將一個數組( arr )作為參數,并通過向后循環遍歷給定的數組,以相反的順序創建一個相同元素的新數組( newArr )( let i = arr.length - 1; i >= 0; i -- )。 此解決方案不會修改原始數組,因為它會將元素推入并存儲在新數組中,這會占用額外的空間。

2.使用Unshift()方法反轉數組:

這種方法與第一種方法沒有很大不同,因為它還使用一個額外的變量來存儲反向數組,因此,原始數組保持不變。

        function reverseArray2(arr) {
            var newArr = [];
            arr.forEach(element => {
                // unshift() 方法可向數組的開頭添加一個或更多元素,并返回新的長度。
                newArr.unshift(element);
            });
            return newArr;
        }
        console.log(reverseArray2(arr));

reverseArray2函數從頭到尾遍歷給定數組( arr )。 它在新數組( newArr )上使用unshift方法,并將每個元素插入到數組的開始位置( newArr[0] )。 與第一個解決方案相比,第二個解決方案的空間效率也較低,因為它需要更多內存才能將反向數組存儲在其他變量( newArr )中。

3.就地反轉陣列: (改變原數組)

與reverse方法類似,我們的最后一種方法也通過在原位反轉其元素來修改原始數組。 這個解決方案; 與前兩個解決方案相比, 就地反轉數組要復雜得多。

        function reverseArray3(arr) {
            for (let index = 0; index < Math.floor(arr.length / 2); index++) {
                // 借助第三方變量交換兩個變量的值
                var temp = arr[index];
                arr[index] = arr[arr.length - 1 - index];
                arr[arr.length - 1 - index] = temp
            }
            return arr;
        }
        console.log(reverseArray3(arr));

在上面的代碼中,我們使用Math.floor向下舍入( i < Math.floor(arr.length/2) ) i < Math.floor(arr.length/2)給定數組的一半元素。 然后將數組的元素放在第一位和最后一位,第二位與第二位到最后一位,依此類推。 代替使用局部綁定,我們使用數組解構來交換其元素。

4.直接調用 reverse():

console.log(['a','b','c','d'].reverse());

總結

到此這篇關于JavaScript反轉數組常用的4種方法的文章就介紹到這了,更多相關JS反轉數組內容請搜索技圈網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持技圈網!

【本文由:高防服務器ip http://www.558idc.com/gfip.html 復制請保留原URL】
聲明:所有內容來自互聯網搜索結果,不保證100%準確性,僅供參考。如若本站內容侵犯了原著者的合法權益,可聯系我們進行處理。
發表評論
更多 網友評論0 條評論)
暫無評論

返回頂部

主站蜘蛛池模板: 国产精品igao视频网| 人妻在线无码一区二区三区| 日本一区二区三区精品视频| 久久精品国产一区二区三区不卡 | 青梅竹马嗯哦ch| 久久久久人妻一区精品色 | 女的扒开尿口让男人桶| 欧美色图另类图片| 高清国产一级精品毛片基地| 亚洲成色www久久网站| 国产在线精品网址你懂的| 成人免费小视频| 欧美性受xxxx| 91久国产在线观看| 久久久久国产综合AV天堂| 亚洲色图15p| 国产av无码专区亚洲av麻豆| 在公车上忘穿内裤嗯啊色h文| 日韩av无码成人精品国产| 九九影视理伦片| avtt加勒比手机版天堂网| 久久精品加勒比中文字幕| 人妖视频在线观看专区| 国产三级香港三韩国三级| 扒下胸罩揉她的乳尖调教| 欧美一级看片免费观看视频在线| 精品国产乱码久久久久软件| 欧美日韩一区二区不卡三区| 久久精品免费视频观看| 亚洲欧美日韩精品中文乱码| 又粗又硬又黄又爽的免费视频| 国产精品99久久久久久人| 夜夜高潮天天爽欧美| 成人无号精品一区二区三区| 男生女生一起差差差视频| 豪妇荡乳1一5白玉兰免费下载| 老司机精品视频在线| 99久久国产综合精品女图图等你| 一级毛片成人免费看免费不卡| 久久国产精品国产精品| 亚洲AV无码久久久久网站蜜桃|