最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript反轉(zhuǎn)數(shù)組常用的4種方法

 更新時(shí)間:2023年07月14日 15:35:21   作者:muzidigbig  
這篇文章主要給大家介紹了關(guān)于JavaScript反轉(zhuǎn)數(shù)組常用的4種方法,反轉(zhuǎn)數(shù)組可以將數(shù)組中的元素順序顛倒過(guò)來(lái),從而達(dá)到一些特定的需求,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下

1.使用For循環(huán)反轉(zhuǎn)數(shù)組:

我們將為這種方法使用遞減循環(huán),以迭代給定數(shù)組的每個(gè)元素。 數(shù)組的最后一個(gè)元素將是循環(huán)的起點(diǎn)(arr.length — 1) ,它將一直運(yùn)行直到到達(dá)數(shù)組的起點(diǎn)(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函數(shù)將一個(gè)數(shù)組( arr )作為參數(shù),并通過(guò)向后循環(huán)遍歷給定的數(shù)組,以相反的順序創(chuàng)建一個(gè)相同元素的新數(shù)組( newArr )( let i = arr.length - 1; i >= 0; i -- )。 此解決方案不會(huì)修改原始數(shù)組,因?yàn)樗鼤?huì)將元素推入并存儲(chǔ)在新數(shù)組中,這會(huì)占用額外的空間。

2.使用Unshift()方法反轉(zhuǎn)數(shù)組:

這種方法與第一種方法沒(méi)有很大不同,因?yàn)樗€使用一個(gè)額外的變量來(lái)存儲(chǔ)反向數(shù)組,因此,原始數(shù)組保持不變。

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

reverseArray2函數(shù)從頭到尾遍歷給定數(shù)組( arr )。 它在新數(shù)組( newArr )上使用unshift方法,并將每個(gè)元素插入到數(shù)組的開(kāi)始位置( newArr[0] )。 與第一個(gè)解決方案相比,第二個(gè)解決方案的空間效率也較低,因?yàn)樗枰鄡?nèi)存才能將反向數(shù)組存儲(chǔ)在其他變量( newArr )中。

3.就地反轉(zhuǎn)陣列: (改變?cè)瓟?shù)組)

與reverse方法類似,我們的最后一種方法也通過(guò)在原位反轉(zhuǎn)其元素來(lái)修改原始數(shù)組。 這個(gè)解決方案; 與前兩個(gè)解決方案相比, 就地反轉(zhuǎn)數(shù)組要復(fù)雜得多。

        function reverseArray3(arr) {
            for (let index = 0; index < Math.floor(arr.length / 2); index++) {
                // 借助第三方變量交換兩個(gè)變量的值
                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)給定數(shù)組的一半元素。 然后將數(shù)組的元素放在第一位和最后一位,第二位與第二位到最后一位,依此類推。 代替使用局部綁定,我們使用數(shù)組解構(gòu)來(lái)交換其元素。

4.直接調(diào)用 reverse():

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

總結(jié)

到此這篇關(guān)于JavaScript反轉(zhuǎn)數(shù)組常用的4種方法的文章就介紹到這了,更多相關(guān)JS反轉(zhuǎn)數(shù)組內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 再談Javascript中的異步以及如何異步

    再談Javascript中的異步以及如何異步

    大家都知道js是單線程的,執(zhí)行起來(lái)是順序的,在順序的業(yè)務(wù)邏輯中當(dāng)然沒(méi)有問(wèn)題,如果遇到可以并發(fā)執(zhí)行的業(yè)務(wù)邏輯,再排隊(duì)就很低級(jí)了!所以這里我們?cè)賮?lái)簡(jiǎn)單的談?wù)凧S中的異步以及如何異步。
    2016-08-08
  • javascript返回頂部的按鈕實(shí)現(xiàn)方法

    javascript返回頂部的按鈕實(shí)現(xiàn)方法

    這篇文章主要介紹了javascript返回頂部的按鈕實(shí)現(xiàn)方法,需要的朋友可以參考下
    2016-01-01
  • JavaScript必知必會(huì)(五) eval 的使用

    JavaScript必知必會(huì)(五) eval 的使用

    這篇文章主要介紹了JavaScript必知必會(huì)(五) eval 的使用 的相關(guān)資料,非常不錯(cuò)具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-06-06
  • JS實(shí)現(xiàn)瀏覽器狀態(tài)欄文字閃爍效果的方法

    JS實(shí)現(xiàn)瀏覽器狀態(tài)欄文字閃爍效果的方法

    這篇文章主要介紹了JS實(shí)現(xiàn)瀏覽器狀態(tài)欄文字閃爍效果的方法,通過(guò)時(shí)間函數(shù)定時(shí)觸發(fā)遞歸調(diào)用實(shí)現(xiàn)狀態(tài)欄文字閃爍效果,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-10-10
  • JavaScript閉包詳解

    JavaScript閉包詳解

    一分鐘理解JavaScript閉包,關(guān)于JavaScript閉包的內(nèi)容介紹了很多,本文帶著大家快速理解什么是JavaScript閉包,感興趣的小伙伴們可以參考一下
    2021-10-10
  • js實(shí)現(xiàn)文字超出部分用省略號(hào)代替實(shí)例代碼

    js實(shí)現(xiàn)文字超出部分用省略號(hào)代替實(shí)例代碼

    關(guān)于超出一定字?jǐn)?shù)用省略號(hào)顯示的問(wèn)題,這種要求在我們?nèi)粘i_(kāi)發(fā)的時(shí)候經(jīng)常見(jiàn)到,我們之前基本都是用CSS來(lái)完成的,今天給大家分享個(gè)Javascript實(shí)現(xiàn)這個(gè)功能的示例代碼,有需要的可以參考借鑒。
    2016-09-09
  • 雙token無(wú)感刷新機(jī)制的實(shí)現(xiàn)方法示例

    雙token無(wú)感刷新機(jī)制的實(shí)現(xiàn)方法示例

    無(wú)感刷新Token,是指在用戶正常操作期間,系統(tǒng)在后臺(tái)自動(dòng)刷新Token的有效期,避免因Token過(guò)期而導(dǎo)致用戶被迫重新登錄,這篇文章主要介紹了雙token無(wú)感刷新機(jī)制實(shí)現(xiàn)的相關(guān)資料,需要的朋友可以參考下
    2026-04-04
  • js指定日期增加指定月份的實(shí)現(xiàn)方法

    js指定日期增加指定月份的實(shí)現(xiàn)方法

    這篇文章主要給大家介紹了關(guān)于js指定日期增加指定月份的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-12-12
  • js實(shí)現(xiàn)touch移動(dòng)觸屏滑動(dòng)事件

    js實(shí)現(xiàn)touch移動(dòng)觸屏滑動(dòng)事件

    在開(kāi)始描述touch事件之前,需要先描述一下多觸式系統(tǒng)中特有的touch對(duì)象(android和iOS乃至nokia最新的meego系統(tǒng)都模擬了類 似的對(duì)象)。這個(gè)對(duì)象封裝一次屏幕觸摸,一般來(lái)自于手指。它在touch事件觸發(fā)的時(shí)候產(chǎn)生,可以 通過(guò)touch event handler的event對(duì)象取到
    2015-04-04
  • 原生JavaScript實(shí)現(xiàn)留言板

    原生JavaScript實(shí)現(xiàn)留言板

    這篇文章主要為大家詳細(xì)介紹了原生JavaScript實(shí)現(xiàn)留言板,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-01-01

最新評(píng)論

桃江县| 柘荣县| 鄂托克旗| 达州市| 望奎县| 榆树市| 都匀市| 夏邑县| 行唐县| 江津市| 集贤县| 东方市| 资中县| 东乌珠穆沁旗| 马鞍山市| 屏边| 武穴市| 惠安县| 曲阳县| 拉孜县| 西城区| 绥芬河市| 聂荣县| 工布江达县| 邵阳县| 绥江县| 福建省| 万荣县| 高碑店市| 庆元县| 满城县| 积石山| 贡觉县| 正阳县| 凤城市| 临泽县| 加查县| 黔江区| 靖江市| 新竹县| 延安市|