接收var声明字符串,仅保存值

时间:2017-11-14 11:55:01

标签: javascript jquery string

我正在尝试使用HTTP请求获得的变量值,我得到的是:

var nums=["155","175","195","205","215","225","235","245","255","265","275","285","295","315","325"]

这是一个带有变量声明的字符串。我想要的只是收集价值,而不是整行。所以,在这种情况下,我会保存["155","175","195","205","215","225","235","245","255","265","275","285","295","315","325"]

是否有任何JQuery或JS库可以使用字符串执行此类操作?我想要实现通用解决方案,因为我并不总是知道在HTTP请求中会收到什么。

非常感谢你。

2 个答案:

答案 0 :(得分:2)



var str = 'var nums=["155","175","195","205","215","225","235","245","255","265","275","285","295","315","325"]'
var resStr = str.split('=')[1];
var arr = JSON.parse(resStr);
console.log(arr);




=拆分字符串,然后获取第二个位置的值。要获取数组表示,请使用JSON.parse

答案 1 :(得分:2)

你可以使用正则表达式:

var myString = 'var nums=["155","175","195","205","215","225","235","245","255","265","275","285","295","315","325"]';
var myRegexp = /var\s*nums\s*=(.*)/g;
var match = myRegexp.exec(myString);
console.log(match[1]);

第一个匹配组(match[1])将包含您的数组(作为字符串)

如果你想要数组本身(而不是包含数组的字符串),你可以反序列化为JSON:

 var myArray = JSON.parse(match[1]);
 console.log(myArray);

作为评论,如多条评论中所述,API不应返回此类数据(var nums =部分);如果您没有具体原因,则应查看您的API。