js总结 |字符串与数组的相互转换
一、数组转字符串
-
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"]