js數(shù)組反轉(zhuǎn)的幾種常見方法舉例
第一種:創(chuàng)建一個(gè)新數(shù)組使用reverse()的方法進(jìn)行反轉(zhuǎn)。
let arr = [1,2,3,4] let arr1 = arr.reverse() console.log(arr1); //[4, 3, 2, 1]
第二種:利用數(shù)組循環(huán),使用unshift() 方法將新項(xiàng)添加到數(shù)組的開頭,并返回新的長度。unshift() 方法會改變數(shù)組的長度。
let arr2 = [1,2,3,4] let arr3 = [] arr2.forEach((element) => { arr3.unshift(element) }) console.log(arr3); //[4, 3, 2, 1]
第三種:使用反向循環(huán)數(shù)組的方法添加至一個(gè)新的數(shù)組。
let arr4 = ["jin", "shi","peng"] let arr5 = [] for (let i = arr4.length-1; i >=0; i--) { arr5.push(arr4[i]) } console.log(arr5); //['peng', 'shi', 'jin']
附:js實(shí)現(xiàn)數(shù)組中的一部分反轉(zhuǎn)
動態(tài)規(guī)劃法:const arr = [2, 6, 5, 8, 3, 5, 2, 6, 7]; const start = 3, end = 7; const reverse = arr => { const { length: l } = arr; for(let i = 0; i < Math.floor(l/2); i++){ const temp = arr[i]; arr[i] = arr[l-i-1]; arr[l-i-1] = temp; }; return arr; }; const reverseBetween = (arr, start, end) => { const num = Math.min(end - start, arr.length - start); arr.splice(start, 0, ...reverse(arr.splice(start, num))); } reverseBetween(arr, start, end); console.log(arr);
完全用數(shù)組的方法實(shí)現(xiàn)
const arr = [1,2,3,4,5,6,7,8] // 2,5 得 [1,2,6,5,4,3,7,8] function Fselve(str,a,b){ let arrary= []; let abs = arr.slice(a,b+1).reverse() for(var i=0;i<str.length;i++){ if(i<a){ arrary.push(str[i]) }else if(b<i){ arrary.push(str[i]) } } arrary.splice(a,0,abs) let newArr =[] for(var j=0;j<arrary.length;j++){ if(arrary[j].length>0){ for(var h=0;h<arrary[j].length;h++){ newArr.push(arrary[j][h]) } }else{ newArr.push(arrary[j]) } } console.log(newArr,'new') return newArr } Fselve(arr,2,5)
總結(jié)
到此這篇關(guān)于js數(shù)組反轉(zhuǎn)的幾種常見方法的文章就介紹到這了,更多相關(guān)js數(shù)組反轉(zhuǎn)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Popup彈出框添加數(shù)據(jù)實(shí)現(xiàn)方法
這篇文章主要為大家詳細(xì)介紹了Popup彈出框添加數(shù)據(jù)的簡單實(shí)現(xiàn)方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-10-10JS技巧動手實(shí)現(xiàn)紅包兔子雨效果示例詳解
這篇文章主要為大家介紹了JS技巧動手實(shí)現(xiàn)紅包兔子雨效果示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-01-01knockoutjs模板實(shí)現(xiàn)樹形結(jié)構(gòu)列表
這篇文章主要介紹了knockoutjs模板實(shí)現(xiàn)樹形結(jié)構(gòu)列表的實(shí)現(xiàn)代碼,非常不錯,具有參考借鑒價(jià)值,需要的朋友參考下吧2017-07-07Object.defineProperty()?完整指南示例詳解
本文深入理解`Object.defineProperty()`的方法,包括基礎(chǔ)概念、屬性描述符的完整選項(xiàng)、常見使用場景等,感興趣的朋友跟隨小編一起看看吧2025-01-01詳解嵌套命名空間在TypeScript中如何應(yīng)用
命名空間是TypeScript中非常有用的概念,可以幫助我們組織和管理代碼,避免命名沖突,下面小編就來和大家聊聊嵌套命名空間在TypeScript中是如何應(yīng)用的吧2023-06-06javascript結(jié)合Cookies實(shí)現(xiàn)瀏覽記錄歷史
最近在工作當(dāng)中遇到一個(gè)問題 有個(gè)頁面需要添加一個(gè)瀏覽歷史記錄功能,具體來說就是要記錄下用戶在此網(wǎng)站的點(diǎn)擊歷史 并把它們降序排列出來(只顯示前6個(gè)瀏覽歷史而且不能重復(fù))。2008-09-09