1

我有这个字符串:

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

我想将它转换成这样的 JavaScript 数组:

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

我该怎么做呢?

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

4

3 回答 3

3

Try:

var initialString = "'California',51.2154,-95.2135464,'data'";
var dataArray = initialString .split(",");
于 2012-08-09T12:16:32.240 回答
1

Use the split function which is available for strings and convert the numbers to actual numbers, not strings.

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.

于 2012-08-09T12:15:42.337 回答
0

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

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

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

于 2012-08-10T06:01:28.603 回答