我有一个类似于下面的字符串
var str = '1;2;3;{"A",B};4;6;{"C","D"}'
我想将str转换为由“;”分隔的数组
var array = [str.split(';')];
它被转换为 - > ["1","2","3","{"A",B}","4","6","{"C","D"}"]
但我需要一个与此类似的数组 - > [1,2,3,{"A",B},4,6,{"C","D"}]
所有数字都应该是数字和字符串作为字符串。我知道它可以使用循环完成,但有一种简单的方法可以做到这一点,因为实际上字符串非常大,几乎有500-600个值。 / p>
答案 0 :(得分:0)
检查输入是否为数字并将其转换并删除其他内容将其转换回字符串
var str = '1;2;3;{"A",B};4;6;{"C","D"}'
str.split(';').map(x => {
if (!isNaN(x)) {
return parseInt(x, 10)
}
return x;
}).join(',')
.replace("\"{", "{")
.replace("\"}", "}")
示例字符串:1,2,3,{"A",B},4,6,{"C","D}