一、數組轉字符串
-
arr.join("指定符號")
:用指定符號把數組元素連接起來,返回連接好的字符串let arr=[1,2,3,4] arr.join(',') // "1,2,3,4" arr.join('-') // "1-2-3-4"
二、字符串轉數組
多個元素
-
str.split(分隔符,留下的個數)
去掉指定分隔符並切開字符串,分割成數組
let str="1,2,3,4" str.split(',') //["1", "2", "3", "4"]
let str="1-2-3-4" str.split('-') //["1", "2", "3", "4"]
一個元素
-
new Array(str)
let str="1" new Array(str) //["1"]
結合兩種情況
怎么綜合考慮兩種情況呢?通常會用到下面兩種方法:
-
str.includes(要找的字符,從哪開始)
判斷一個字符串是否包含在另一個字符串中,根據情況返回 true 或 false,區分大小寫。根據這個判斷轉換的元素個數,只要找不到分隔符,那么說明元素只有一個
-
toString()
轉字符串。保險起見,需要先轉字符串。
let str//需要轉換的字符串 let result//需要后的結果 if(!str.toString().includes(',')){ result=new Array(str) }else{ result=str.split(',') }
封裝函數
// [String] str:(必選)需要轉換的字符串
// [String] mark:(可選)指定分隔符
let strToArr=function(str,mark=''){
if(mark=''){
return new Array(str)
}else{
return str.split(mark)
}
}
使用
strToArr('1,2,3',',') //["1", "2", "3"]
let str="1,2,3"
strToArr(str,',') //["1", "2", "3"]
strToArr('1')
["1"]