jsオブジェクト、配列変換文字列

2140 ワード

オブジェクトを文字列に変換するには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