js數組反轉的幾種常見方法舉例
更新時間:2023年10月10日 09:43:32 作者:比較菜的Curry
最近學到了數組的使用方法,給大家分享一下,這篇文章主要給大家介紹了關于js數組反轉的幾種常見方法,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
第一種:創(chuàng)建一個新數組使用reverse()的方法進行反轉。
let arr = [1,2,3,4] let arr1 = arr.reverse() console.log(arr1); //[4, 3, 2, 1]
第二種:利用數組循環(huán),使用unshift() 方法將新項添加到數組的開頭,并返回新的長度。unshift() 方法會改變數組的長度。
let arr2 = [1,2,3,4] let arr3 = [] arr2.forEach((element) => { arr3.unshift(element) }) console.log(arr3); //[4, 3, 2, 1]
第三種:使用反向循環(huán)數組的方法添加至一個新的數組。
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實現數組中的一部分反轉
動態(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);
完全用數組的方法實現
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)
總結
到此這篇關于js數組反轉的幾種常見方法的文章就介紹到這了,更多相關js數組反轉內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Object.defineProperty()?完整指南示例詳解
本文深入理解`Object.defineProperty()`的方法,包括基礎概念、屬性描述符的完整選項、常見使用場景等,感興趣的朋友跟隨小編一起看看吧2025-01-01