写项目的时候出现了一个问题,后端传给了一个“[\"1\"]”
的数据(类型为string),如何转为array
结论
function string2Array(string) {
let s = string.substring(1, string.length - 1)
s=s.split(',')
for (const key in s) {
s[key]=s[key].substring(1,s[key].length-1)
}
return s
}
代码分析
一开始以为简单的JSON.parse
就可以了,结果发现不行办不到,
然后就想着去个头去个尾,split()就好了,即以下代码
function string2Array(string) {
let s = string.substring(1, string.length - 1)
return s.split(',')
}
结果发现输出的结果是这样的['"1"']
这样的话再在两边去个头,结果就正确了
function string2Array(string) {
let s = string.substring(1, string.length - 1)
s=s.split(',')
for (const key in s) {
s[key]=s[key].substring(1,s[key].length-1)
}
return s
}
Q.E.D.