JavaScript?允許數組與字符串之間相互轉換。其中 Array?方法對象定義了 3?個方法,可以把數組轉換為字符串,如表所示。
數組方法
說明
toString()
將數組轉換成一個字符串
toLocalString()
把數組轉換成本地約定的字符串
join()
將數組元素連接起來以構建一個字符串
Array 對象的數組與字符串相互轉換方法數組方法說明toString()將數組轉換成一個字符串toLocalString()把數組轉換成本地約定的字符串join()將數組元素連接起來以構建一個字符串
示例1 toString()
下面使用?toString()?方法讀取數組的值。
數組中 toString()?方法能夠把每個元素轉換為字符串,然后以逗號連接輸出顯示。
var a = [1,2,3,4,5,6,7,8,9,0]; //定義數組
var s = a.toString(); //把數組轉換為字符串
console.log(s); //返回字符串“1,2,3,4,5,6,7,8,9,0”
console.log(typeof s); //返回字符串string,說明是字符串類型
當數組用于字符串環境中時,JavaScript?會自動調用?toString()?方法將數組轉換成字符串。在某些情況下,需要明確調用這個方法。
var a = [1,2,3,4,5,6,7,8,9,0]; //定義數組
var b = [1,2,3,4,5,6,7,8,9,0]; //定義數組
var s = a + b; //數組連接操作
console.log(s); //返回“1,2,3,4,5,6,7,8,9,01,2,3,4,5,6,7,8,9,0”
console.log(typeof s); //返回字符串string,說明是字符串類型
toString()?在把數組轉換成字符串時,首先要將數組的每個元素都轉換為字符串。當每個元素都被轉換為字符串時,才使用逗號進行分隔,以列表的形式輸出這些字符串。
var a = [1,[2,3],[4,5]],[6,[7,[8,9],0]]]; //定義多維數組
var s = a.toString(); //把數組轉換為字符串
console.log(S); //返回字符串“1,2,3,4,5,6,7,8,9,0”
其中數組?a?是一個多維數組,JavaScript?會以迭代的方式調用?toString()?方法把所有數組都轉換為字符串。
示例2 toLocaleString()
下面使用?toLocaleString()?方法讀取數組的值。
toLocaleString()?方法與?toString()?方法用法基本相同,主要區別在于?toLocaleString()?方法能夠使用用戶所在地區特定的分隔符把生成的字符串連接起來,形成一個字符串。
var a = [1,2,3,4,5]; //定義數組
var s = a.toLocaleString(); //把數組轉換為本地字符串
console.log(s); //返回字符串“1,2,3,4,5,6,7,8,9,0”
在上面示例中,toLocaleString()?方法根據中國的使用習慣,先把數字轉換為浮點數之后再執行字符串轉換操作。
示例3 join()
下面使用?join()?方法可以把數組轉換為字符串。
join()?方法可以把數組轉換為字符串,不過它可以指定分隔符。在調用?join()?方法時,可以傳遞一個參數作為分隔符來連接每個元素。如果省略參數,默認使用逗號作為分隔符,這時與?toString()?方法轉換操作效果相同。
var a = [1,2,3,4,5]; //定義數組
var s = a.join("=="); //指定分隔符
console.log(s); //返回字符串“1==2==3==4==5”
示例4 ?split()
下面使用?split()?方法把字符串轉換為數組。
split()?方法是 String?對象方法,與?join()?方法操作正好相反。該方法可以指定兩個參數,第 1?個參數為分隔符,指定從哪兒進行分隔的標記;第 2?個參數指定要返回數組的長度。
var s = "1==2== 3==4 ==5";
var a = s.split("==");
console.log(a);
console.log(a.constructor == Array);