我有这个字符串:
items = "['item1', 'item2']"
我需要它成为一个JavaScript数组,像这样:
items = ['item1', 'item2']
我尝试了这个方法,它可以工作:
items.replace("]","").replace("[","").replaceAll("'","").split(",");
我获得了预期的结果:
['item1', 'item2']
问题是:是否有更简单的方法来实现同样的效果?
我有这个字符串:
items = "['item1', 'item2']"
我需要它成为一个JavaScript数组,像这样:
items = ['item1', 'item2']
我尝试了这个方法,它可以工作:
items.replace("]","").replace("[","").replaceAll("'","").split(",");
我获得了预期的结果:
['item1', 'item2']
问题是:是否有更简单的方法来实现同样的效果?
JSON.parse()
很简单地完成这个操作:
const items = "['item1', 'item2']";
const array = JSON.parse(items.replace(/'/g, '\"'));
console.log(array);
如果您想完全避免使用JSON.parse()
,我们可以微调文本替换并像这样使用.split()
方法:
const items = "['item1', 'item2']";
const array = items.replace(/\[|\]|\s|'/g,'').split(',');
console.log(array);
eval(items)
或者JSON.parse(items.replace(/'/g, '"'))
。 - user5734311eval
的必读文章:https://dev59.com/z3VC5IYBdhLWcg3wvT1a - Pranav Hosangadieval
,但对于这种情况,JSON.parse
是正确的选择。 - NisalaJSON.parse()
将最终结果解释为 JSON 数据。 - Brandon McConnelljson.dumps()
。 - tevemadar