一、数组转字符串
-
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"]