1. 程式人生 > 其它 >JavaScript字串和陣列的相互轉換

JavaScript字串和陣列的相互轉換

JavaScript字串和陣列的相互轉換

陣列轉換為字串

join()

join() 方法可以把陣列轉換為字串,不過它可以指定分隔符。在呼叫 join() 方法時,可以傳遞一個引數作為分隔符來連線每個元素。如果省略引數,預設使用逗號作為分隔符,這時與toString()方法轉換操作效果相同。

var arr = [1,2,3,4,5];
var str1 = arr.join('');
var str2 = arr.join('-');
var str3 = arr.join(' ᓚᘏᗢ ');
var str4 = arr.join();
console.log(str1); // 12345
console.log(str2); // 1-2-3-4-5 console.log(str3); // 1 ᓚᘏᗢ 2 ᓚᘏᗢ 3 ᓚᘏᗢ 4 ᓚᘏᗢ 5 console.log(str4); // 1,2,3,4,5

toString()

toString()將所有元素轉換成逗號連線的字串

var arr1 = [1,2,3,4,5,6];
var arr2 = ['a','b','c'];
var str1 = arr1.toString();
var str2 = arr2.toString();
console.log(str1); // 返回'1,2,3,4,5,6'
console.log(str2); //
返回'a,b,c' var arr3 = [1,[2,3],[4,5]],[6,[7,[8,9],0]]]; //定義多維陣列 var str3 = arr3.toString(); //把陣列轉換為字串 console.log(str3); //返回字串“1,2,3,4,5,6,7,8,9,0”

toLocalString()

toLocalString()將陣列轉換成本地約定的字串

toLocalString()方法與toString()方法用法基本相同,主要區別在於 toLocalString()方法能夠使用使用者所在地區特定的分隔符把生成的字串連線起來,形成一個字串。

var arr = [1,2,3,4,5];  //
定義陣列 var str = arr.toLocaleString(); //把陣列轉換為本地字串 console.log(str); // 返回'1,2,3,4,5'

陣列相加

var arr1 = [1,2,3,4,5];
var arr2 = [6,7,8,9];
var str = arr1 + arr2;
console.log(str); // 1,2,3,4,56,7,8,9

字串轉換成陣列

Split()

var str = "abcde";
var arr = str.split(''); // ["u", "i", "x", "d", "k"]

用特殊字元分割字串

var str = 'hello-world';
var arr = str.split('-');
console.log(arr); // ['hello', 'world']

ES6結構運算子

var str = 'abcde';
var arr = [...str];
console.log(arr); //['a', 'b', 'c', 'd', 'e']

Array.from()

var str = 'abcde';
var arr = Array.from(str);
console.log(arr); //['a', 'b', 'c', 'd', 'e']

Object.assign()

不會產生純陣列

Object.assign 方法只會拷貝源物件自身的並且可列舉的屬性到目標物件。該方法使用源物件的[[Get]]和目標物件的[[Set]],所以它會呼叫相關 getter 和 setter。因此,它分配屬性,而不僅僅是複製或定義新的屬性。如果合併源包含getter,這可能使其不適合將新屬性合併到原型中。

var str = 'abcde';
var arr = Object.assign([],str);
console.log(arr); //['a', 'b', 'c', 'd', 'e']