JS數組轉字符串(3種方法)【轉】


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);

文章來自:http://c.biancheng.net/view/5673.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM