在上一篇文章《JS數(shù)組學(xué)習(xí)之如何根據(jù)數(shù)組下標刪除任意元素》中,我們介紹了使用delete運算符或splice()方法根據(jù)數(shù)組下標來刪除數(shù)組元素的方法。這次我們繼續(xù)JavaScript數(shù)組的學(xué)習(xí)和練習(xí),看看怎么將數(shù)組轉(zhuǎn)為字符串,感興趣的朋友可以學(xué)習(xí)了解一下~
本文的主題是:數(shù)組中的全部元素拼接成一個字符串,簡單來說就是將數(shù)組轉(zhuǎn)為一個字符串。例如下面的一個數(shù)組:
arr = [1,2,3,4,5,6,7,8,9,0];
想要拼接其中的所有元素,返回一個字符串,例如“1234567890
”或者“1,2,3,4,5,6,7,8,9,0
”,這要怎么操作?下面我們介紹幾種方法。
方法一:使用for循環(huán)遍歷數(shù)組,拼接每個數(shù)組元素
遍歷數(shù)組我們使用for循環(huán);拼接可以利用字符串連接運算符“+”、也可使用concat()方法(具體可以閱讀文章《JS字符串學(xué)習(xí)之巧用函數(shù)來連接多個字符串》)
我們看看實現(xiàn)代碼:
var arr = [1,2,3,4,5,6,7,8,9,0]; var i,str=""; for(i=0;i<arr.length;i++){ //循環(huán)遍歷數(shù)組 //拼接 str=str.concat(arr[i]); //str=str + arr[i]; } console.log(str);
輸出結(jié)果:
說明:這種方法適用于一維數(shù)組轉(zhuǎn)字符串。
方法二:使用toString()方法
toString()可以把每個元素轉(zhuǎn)換為字符串,然后以逗號連接輸出顯示。(注:toString()方法不支持自定義分隔符?。?/p>
var arr = [1,2,3,4,5,6,7,8,9,0]; var str; str=arr.toString(); console.log(str);
toString()方法可以處理多維數(shù)組,會以迭代的方式把所有數(shù)組都轉(zhuǎn)換為字符串。
var arr = [1,[2,3],[4,5],[6,[7,[8,9],0]]]; var str; str=arr.toString(); console.log(str);
方法三:使用join()方法
array.join(separator)
方法用于把數(shù)組 array 中的所有元素放入一個字符串,每個元素可以使用 separator
參數(shù)設(shè)置的分隔符進行分隔;如果省略該參數(shù),則默認使用逗號“,
”分隔(這就和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);
如果不想有分隔符,那么可以設(shè)置separator參數(shù)為空字符串(''
);
var arr = [1,2,3,4,5,6,7,8,9,0]; var str; str=arr.join(''); console.log(str);
join()方法也可以處理多維數(shù)組,不過需要省略參數(shù),輸出和toString()一樣:
var arr = [1,[2,3],[4,5],[6,[7,[8,9],0]]]; var str; str=arr.join(); console.log(str);
說明:
如果數(shù)組中包括了對象(非簡單類型),那么調(diào)用join()和toString()方法所出來的結(jié)果,無論該元素的內(nèi)容是什么,都是顯示[object Object]
字符串。
var arr = [{姓名: '李華'}, '張三', '李四']; console.log(arr.toString()); // "[object Object],張三,李四" console.log(arr.join()); // "[object Object],張三,李四"
一般在實際的場景中,join()方法使用得較多。
好了,就說到這里了,有需要的可以看:javascript高級教程