已知字符串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')]")
8 回答4.6k 阅读✓ 已解决
6 回答3.3k 阅读✓ 已解决
5 回答2.8k 阅读✓ 已解决
6 回答2.3k 阅读
5 回答6.3k 阅读✓ 已解决
4 回答2.2k 阅读✓ 已解决
4 回答2.8k 阅读✓ 已解决
先用
replace
把括号替换一下,然后用Function
转成数组如果不能使用
Function
的话,那就需要转成标准的JSON
,在上一步的基础上把单引号转成双引号