在之前的文章《JS數組學習之怎麼拼接全部元素,回傳一個字串》、《JS數組學習之迭代數組計算元素總和、將值連接成字串》中,我們介紹了依照陣列順序,從左到右正向拼接全部元素,形成一個字串的幾種方法。這次我們繼續介紹JS數組轉字串,聊聊逆向(從右到左)拼接全部數組元素,形成一個反轉字符串的方法,有需要的朋友可以學習了解一下~
#今天本文的主要內容是:逆向遍歷數組,從右到左的將數組元素拼接成一個字串。下面介紹3種實作方法。
方法1:利用for迴圈
實作想法:
利用for迴圈反向遍歷數組
想要逆向遍歷數組,那麼初始條件就是i=數組長度-1,
限制條件為i>=0
,每循環一次i需要自減1(i--
)
for(i=arr.length-1;i>=0;i--){ //逆向循环遍历数组 }
然後利用字串連接運算子「
」或concat()
方法來拼接陣列元素,轉為字串。 【推薦閱讀:《JS字串學習之巧用函數來連接多個字串》】
#我們看看實作程式碼:
var arr = [1,2,3,4,5,6,7,8,9,0]; var i,str=""; for(i=arr.length-1;i>=0;i--){ //逆向循环遍历数组 //拼接 str=str+''+arr[i]; // str=str.concat(arr[i]); } console.log(str);
輸出結果為:
方法2:利用陣列的reduceRight() 方法
recudeRight () 方法可從右向左對陣列中的所有元素呼叫指定的回呼函數。此回調函數的傳回值為累積結果,且此回傳值在下一次呼叫該回呼函數時作為參數提供。
array.reduceRight(function callbackfn(previousValue, currentVaule, currentIndex, array)[, initialValue])
function callbackfn(previousValue,currentVaule,currentIndex,array)
:必要參數,指定回呼函數,最多可以接收4個參數:
previousValue:初始值,或是透過上一次呼叫回呼函數所獲得的值。
currentVaule:目前元素陣列的值。
currentIndex:目前陣列元素的數字索引。
array:包含該元素的陣列物件。
我們來看看利用reduceRight()怎麼逆向拼接數組元素
var arr = [1,2,3,4,5,6,7,8,9,0]; var str = ''; function f(pre,curr) { str=pre+''+curr; return str; } arr.reduceRight(f); console.log(str);
輸出結果為:
##如果想要使用分隔符號來分隔每個陣列元素,可將回呼函數中兩個「 」運算子間的空字串變為指定分隔符號:var arr = [1,2,3,4,5,6,7,8,9,0]; var str = ''; function f(pre,curr) { str=pre+'-'+curr; return str; } arr.reduceRight(f); console.log(str);輸出結果為:
方法3:利用reverse() reduce()
reverse()可以反轉陣列的元素順序;而reduce()方法的語法和用法與和reduceRight() 方法大概相同,唯一不同的是:它是從左到右對數組中的所有元素調用指定的回調函數。array.reduce(function callbackfn(previousValue, currentVaule, currentIndex, array), initialValue)實作想法:
var arr1 = [1,2,3,4,5,6,7,8,9,0],arr2=[]; var str = ''; function f(pre,curr) { str=pre+''+curr; return str; } arr2=arr1.reverse(); arr2.reduce(f); console.log(str);輸出結果為: 好了,就說到這裡了,有需要的可以看:
以上是JS數組學習之反向連接全部元素並輸出字串的詳細內容。更多資訊請關注PHP中文網其他相關文章!