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

Convert comma separated string to a JavaScript array

本文关键字:转换 JavaScript 数组 字符串 分隔      更新时间:2023-09-26

我有这个字符串:

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

我想把它转换成一个像这样的JavaScript数组:

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

我该怎么做?

我没有jQuery。而且我不想使用jQuery。

尝试:

var initialString = "'California',51.2154,-95.2135464,'data'";
var dataArray = initialString .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)

请注意,如果您的字符串包含数组/对象,这将失败。

由于您的格式几乎符合 JSON 语法,因此您可以执行以下操作:

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

即添加"["和"]"字符作为开头和结尾,并将所有"字符替换为"。而不是执行 JSON 解析。