0

如果我有array这样的:

myArray ="['John', 'Jack', 'Abe', 'Adelle' 'Jim', 'Andrew', 'Matthew']; ['Carpenter', 'Reaper', 'Lincoln', 'Aidan', 'Raynor', 'Doe']"

myArray[0]在哪里['John', 'Jack', 'Abe', 'Adelle' 'Jim', 'Andrew', 'Matthew']

如何从myArray[0]and中获取每个名称myArray[1]

4

3 回答 3

4
var splitted = myArray.replace(/\'/g, '"').split("; ");
myArray = [];
for (var i = 0; i < splitted.length; i++) {
    myArray[i] = JSON.parse(splitted[i]);
};

现在myArray是带有名称的二维数组。

实际上,如果你运行这段代码,你会得到一个异常,但这是因为你错过了附近的逗号"Adelle" "Jim"

于 2013-07-03T11:14:43.977 回答
1

这是一个解决方案:

var myArray ="['John', 'Jack', 'Abe', 'Adelle' 'Jim', 'Andrew', 'Matthew']; ['Carpenter', 'Reaper', 'Lincoln', 'Aidan', 'Raynor', 'Doe']"

arrays = myArray.split(";")
myArray= []
for(var a in arrays) {
    myArray.push(eval(a))
}
于 2013-07-03T11:20:17.313 回答
1

受@Tommi 将字符串(它不是数组!)转换为 JSON 的想法的启发,这是另一种方法,这次没有循环:

var string ="['John', 'Jack', 'Abe', 'Adelle', 'Jim', 'Andrew', 'Matthew']; ['Carpenter', 'Reaper', 'Lincoln', 'Aidan', 'Raynor', 'Doe']";
var json = string
    .replace( /^/, '[' )
    .replace( /$/, ']' )
    .replace( /\]; *\[/g, '], [' )
    .replace( /'/g, '"' );
var array = JSON.parse( json );
于 2013-07-03T11:47:07.340 回答