js对象、数组转换字符串 - 追梦子

时间:2024-02-20 17:44:37

对象转换成字符串需要使用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