JavaScript字串和陣列的相互轉換
阿新 • • 發佈:2022-03-07
陣列轉換為字串
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); // 12345console.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']