国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

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

瀏覽:4日期:2022-06-12 14:21:51
目錄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反轉數組內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: JavaScript
主站蜘蛛池模板: 余庆县| 滨州市| 石家庄市| 静安区| 樟树市| 绥化市| 繁峙县| 思南县| 古丈县| 政和县| 嫩江县| 万盛区| 屏东市| 临朐县| 天柱县| 紫阳县| 佳木斯市| 磴口县| 平乐县| 平泉县| 恩平市| 哈密市| 滁州市| 襄樊市| 焦作市| 宁都县| 东山县| 惠来县| 清水河县| 灌云县| 桐庐县| 微山县| 津南区| 株洲市| 贺州市| 乐安县| 呼图壁县| 如皋市| 安西县| 石棉县| 武强县|