Convert string into an array of arrays in javascript
我有一个字符串,如下所示:
1 | my_string ="['page1',5],['page2',3],['page3',8]"; |
我想将此转换为以下内容:
1 | my_array = [['page1',5],['page2',3],['page3',8]]; |
号
我知道有一个split函数需要指定分隔符。当我这样做时:
1 | my_string.split(','); |
我得到了以下结果:
1 | ["['page1'","5]","['page2'","3]","['page3'","8]"] |
。
您可以使用
1 2 3 4 | const my_string ="['page1',5],['page2',3],['page3',8]", stringified = '['+my_string.replace(/'/g, '"')+']'; console.log(JSON.parse(stringified)); |
或者,您可以使用
1 2 3 4 | const my_string ="['page1',5],['page2',3],['page3',8]"; arr = Function('return [' + my_string + ']')(); console.log(arr); |
号
可以使用
1 2 3 4 5 | my_string ="['page1',5],['page2',3],['page3',8]"; my_array = eval(`[${my_string}]`); console.log(my_array); |
。
但是,如果使用不当,使用
首先用"]、["拆分字符串,得到一个像下面这样的数组
1 | splitted_string = ["[page1,5","[page2,3" ,"[page3,8"]; |
然后循环这个数组,去掉"["字符,得到一个像下面这样的数组
1 | splitted_string = ["page1,5","page2,3" ,"page3,8"]; |
。
最后循环此数组,并用","分隔每个元素。维奥拉!你得到了你想要的
1 | splitted_string = [['page1',5],['page2',3],['page3',8]]; |