如何将字符串转换为数组

3

如何将格式为'[11, 66]'的字符串转换为数组?

Array.isArray('[11, 66]')返回false,因为它被认为是字符串,而不是数组?


1
预期结果是一个仅包含两个值“11”和“66”的数组(提示:这是有效的JSON)吗? - adeneo
另外,'[1, 2]'.substring(1, s.length - 1).split(', ').map(str => +str)也可以工作,但比JSON.parse不够健壮。 - mario_sunny
请参考以下链接,它可能非常有用。https://dev59.com/tXA75IYBdhLWcg3wOGPS - Dawit Tilahun Davatron
3个回答

4
一种好的方法是使用JSON.parse

JSON.parse()方法解析JSON字符串,构建由字符串描述的JavaScript值或对象。

在你的示例中:

JSON.parse('[11, 66]')

输出:

[11, 66]

2
如果字符串是一个有效的JSON字符串,则使用JSON.parse:
var array = JSON.parse(str);

1

你尝试使用过JSON API吗?

JSON.parse(string); // turn a JSON string into a plain object (or an array as your example)
JSON.stringify(object); // turn an object (or an array) into JSON string

也适用于数组!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接