如何将这个字符串转换为数字数组?

vio*_*gin 1 javascript arrays string

我正在编写这段代码,其中用户在输入框中输入一个数组,因此该框几乎包含一个看起来有点像这样的字符串:[2, 2, 2, 2, 2, 9, 9, 9, 2, 2, 2], [2, 1, 1, 1, 1, 9, 9, 9, 1, 1, 2], [2, 1, 1,14, 1, 9, 9, 9, 1, 1, 2]等等。

我想将其转换为数字数组的数组,以便我的代码可以用它做一些事情,但我不确定如何做。

简单地获取输入框的值会输出如下所示的内容:'[2, 2, 2, 2, 2, 9, 9, 9, 2, 2, 2], \n[2, 1, 1, 1, 1, 9, 9, 9, 1, 1, 2], \n[2, 1, 1,14, 1, 9, 9, 9, 1, 1, 2]',当我尝试拆分它/正则表达式替换某些内容时,要么我什么也得不到,要么得到如下所示的数组:["2, 2, 2, 2, 2, 9, 9, 9, 2, 2, 2"]。我不太确定如何解决这个问题,我使用的代码需要它作为数字。

我不知道该怎么办,所以任何想法都会有帮助。谢谢!

Spe*_*ric 5

您可以使用JSON.parse

const str = '[2, 2, 2, 2, 2, 9, 9, 9, 2, 2, 2],     \n[2, 1, 1, 1, 1, 9, 9, 9, 1, 1, 2],     \n[2, 1, 1,14, 1, 9, 9, 9, 1, 1, 2]';

const arrs = JSON.parse('[' + str + ']')

console.log(arrs)
Run Code Online (Sandbox Code Playgroud)

  • 不会想到使用这样的解析,很好。 (2认同)