给定一个数组作为字符串,如何最好地将其转换为数组?

时间:2016-06-13 19:27:10

标签: javascript arrays string type-conversion

在JavaScript中,将数组作为字符串:

example1: "[1, 2, 3]"
example2: "[]"
example3: "["apple", true, 42]"

将它转换为没有JSON.parse的数组的最佳方法是什么?

3 个答案:

答案 0 :(得分:1)

使用JSON.parse()。它将JSON字符串作为参数并返回其描述的结构。

或者,您可以使用eval()但我不推荐此



var json = '["apple", true, 42]';

console.log(json);
console.log(JSON.parse(json));
console.log(eval(json));




答案 1 :(得分:0)

你可以尝试这样的事情:

var ar = '["bonjour", true, 42]';
function reduce(element, index, array){
  if (index === 0) return element.slice(2, -1);
  if (index === array.length - 1) return element.slice(1, -1);
  return element;
}
var map = ar.split(",").map(reduce)
console.log(map); // [ 'bonjour', ' true', '42' ]

答案 2 :(得分:0)

这是使用@ 4castle建议的eval()的工作解决方案。

function parser(str) {
    return eval('(' + str + ')');
}