最近写项目总是碰到这些转换,敲代码总是记不住方法,每次都要去查一下文档,于是索性写一篇总结加深一下印象~
一、数组转字符串
arr.join("指定符号")
用指定符号把数组元素连接起来,返回连接好的字符串
let arr=[1,2,3,4]
arr.join(',') // "1,2,3,4"
arr.join('-') // "1-2-3-4"
二、字符串转数组
01-多个元素
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"]
02-一个元素
new Array(str)
let str="1"
new Array(str) /["1"]
03-结合两种情况
怎么综合考虑两种情况呢?通常会用到下面两种方法:
str.includes(要找的字符,从哪开始)
判断一个字符串是否包含在另一个字符串中,根据情况返回 true 或 false,区分大小写。根据这个判断转换的元素个数,只要找不到分隔符,那么说明元素只有一个
toString()
转字符串。保险起见,需要先转字符串。
let str//需要转换的字符串
let result//需要后的结果
if(!str.toString().includes(',')){
result=new Array(str)
}else{
result=str.split(',')
}
04-封装函数
// [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"]