简体   繁体   English

将逗号分隔的字符串转换为 JavaScript 数组

[英]Convert comma separated string to a JavaScript array

I have this string:我有这个字符串:

"'California',51.2154,-95.2135464,'data'" 

I want to convert it into a JavaScript array like this:我想把它转换成这样的 JavaScript 数组:

var data = ['California',51.2154,-95.2135464,'data'];

How do I do this?我该怎么做呢?

I don't have jQuery.我没有 jQuery。 And I don't want to use jQuery.而且我不想使用 jQuery。

Try:尝试:

var initialString = "'California',51.2154,-95.2135464,'data'";
var dataArray = initialString .split(",");

Use the split function which is available for strings and convert the numbers to actual numbers, not strings.使用可用于字符串的 split 函数并将数字转换为实际数字,而不是字符串。

 var ar = "'California',51.2154,-95.2135464,'data'".split(","); for (var i = ar.length; i--;) { var tmp = parseFloat(ar[i]); ar[i] = (!isNaN(tmp)) ? tmp : ar[i].replace(/['"]/g, ""); } console.log(ar)

Beware, this will fail if your string contains arrays/objects.请注意,如果您的字符串包含数组/对象,这将失败。

Since you format almost conforms to JSON syntax you could do the following :由于您的格式几乎符合 JSON 语法,您可以执行以下操作:

var dataArray = JSON.parse ('[' + initialString.replace (/'/g, '"') + ']');

That is add '[' and ']' characters to be beginning and end and replace all "'' characters with '"'.即添加 '[' 和 ']' 字符作为开头和结尾,并用 '"' 替换所有 "'' 字符。 than perform a JSON parse.而不是执行 JSON 解析。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM