在上一篇文章《JS數組學習之如何根據數組下標刪除任意元素》中,我們介紹了使用delete運算符或splice()方法根據數組下標來刪除數組元素的方法。這次我們繼續JavaScript數組的學習和練習,看看怎麼將數組轉為字串,有興趣的朋友可以學習了解一下~
本文的主題是:數組中的全部元素拼接成一個字符串,簡單來說就是將數組轉為一個字串。例如下面的一個陣列:
arr = [1,2,3,4,5,6,7,8,9,0];
想要拼接其中的所有元素,傳回一個字串,例如「1234567890
」或「1,2,3,4,5 ,6,7,8,9,0
”,這要怎麼操作?下面我們介紹幾種方法。
方法一:使用for循環遍歷數組,拼接每個數組元素
#遍歷數組我們使用for迴圈;拼接可以利用字串連接運算子「 」、也可使用concat()方法(具體可以閱讀文章《JS字串學習之巧用函數來連接多個字串》)
我們看看實作程式碼:
var arr = [1,2,3,4,5,6,7,8,9,0]; var i,str=""; for(i=0;i<arr.length;i++){ //循环遍历数组 //拼接 str=str.concat(arr[i]); //str=str + arr[i]; } console.log(str);
輸出結果:
說明:此方法適用於一維陣列轉字串。
方法二:使用toString()方法
toString()可以把每個元素轉換為字串,然後以逗號連接輸出顯示。 (註:toString()方法不支援自訂分隔符號!)
var arr = [1,2,3,4,5,6,7,8,9,0]; var str; str=arr.toString(); console.log(str);
#toString()方法可以處理多維數組,並且會以迭代的方式將所有數組轉換為字串。
var arr = [1,[2,3],[4,5],[6,[7,[8,9],0]]]; var str; str=arr.toString(); console.log(str);
方法三:使用join()方法
array.join(separator)
方法用於把陣列array 中的所有元素放入字串,每個元素可以使用separator
參數設定的分隔符號分隔;如果省略該參數,則預設使用逗號「,
」分隔(這就跟toString()方法的輸出一樣了)。
var arr = [1,2,3,4,5,6,7,8,9,0]; var str1,str2,str3; str1=arr.join(); str2=arr.join('-'); str3=arr.join('=='); console.log(str1); console.log(str2); console.log(str3);
如果不想有分隔符,那麼可以將separator參數設定為空字串(''
);
var arr = [1,2,3,4,5,6,7,8,9,0]; var str; str=arr.join(''); console.log(str);
join()方法也可以處理多維數組,不過需要省略參數,輸出和toString()一樣:
var arr = [1,[2,3],[4,5],[6,[7,[8,9],0]]]; var str; str=arr.join(); console.log(str);
##說明:
如果數組中包含了物件(非簡單類型),那麼呼叫join()和toString()方法所出來的結果,無論該元素的內容是什麼,都是顯示[object Object]字串。
var arr = [{姓名: '李华'}, '张三', '李四']; console.log(arr.toString()); // "[object Object],张三,李四" console.log(arr.join()); // "[object Object],张三,李四"
以上是JS數組學習如何拼接全部元素,回傳一個字串的詳細內容。更多資訊請關注PHP中文網其他相關文章!