已知字符串let str = "[('channel_id', '=', 1), ('state', '=', 'published')]"
转换成二维数组
let arr = [
['channel_id', '=', 1],
['state', '=', 'published']
]
求一个可以转换的方法或者逻辑
已知字符串let str = "[('channel_id', '=', 1), ('state', '=', 'published')]"
转换成二维数组
let arr = [
['channel_id', '=', 1],
['state', '=', 'published']
]
求一个可以转换的方法或者逻辑
const str2arr = str => {
let str1;
const res = [];
const reg = RegExp('\\(.*?\\)', 'g');
while ((str1 = reg.exec(str)) !== null) {
res.push(str1[0].match(/(\w+|=)/g))
}
return res;
}
str2arr("[('channel_id', '=', 1), ('state', '=', 'published')]")
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答5.2k 阅读✓ 已解决
1 回答3.3k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
先用
replace
把括号替换一下,然后用Function
转成数组如果不能使用
Function
的话,那就需要转成标准的JSON
,在上一步的基础上把单引号转成双引号