我正在尝试使用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请求中会收到什么。
非常感谢你。
答案 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。