对象、数组转换字符串
对象转换成字符串需要使用toString()方法。
1 var a = function(){ 2 console.log(111); 3 }; 4 var b = a.toString(); 5 console.log(a); 函数式的function 6 console.log(b); 字符串function 7 console.log(typeof a); >>function 8 console.log(typeof b); >>string
数组转换字符串 1.0
1 var a = [1,2,3]; 2 var b = a.toString(); 3 console.log(a); >>[1,2,3] 4 console.log(b); >>"1,2,3"
当我们进行与原始值比较的时候,它们会自动调用toString方法。(+,-,!=,==都会进行转换。)
数组转换字符串 2.0
1 // var a = [1,2,3]; 2 // console.log(a.join()); >>1,2,3
toString()与join()的比较
1 // var a = [1,2,3]; 2 // console.log(a.join()); >>1,2,3 3 // console.log(a.toString()); >>1,2,3 4 // console.log(a.toString("-")); >>1,2,3 5 // console.log(a.join("-")); >>1-2-3
join用法的升级版
1 var a = [1,[1,2]]; 2 console.log(a.join("-")); >>1-1,2
我想把全部数组的值都用-分割,但是如果是多维数组,显然直接这样是不行的,但是我们可以通过一个小技巧就可以完美实现。
1 var a = [1,[1,2]]; 2 console.log(a.join(",").split(",").join("-")); >>1-1-2
首先把多维数组转换成全部用,分割开的字符串,然后再将字符串转换成数组,最后在用“-”分割就可以达到我们的目的了。
如果还是不清楚,我来看看它的转换过程。
1 var a = [1,[1,2]]; 2 // console.log(a.join(",")); >>"1,1,2" 3 // console.log("1,1,2".split(",")); >>["1", "1", "2"] 4 // console.log(["1", "1", "2"].join("-")); >>1-1-2