Javascript 如何将复杂字符串划分为3个独立的数组?

Javascript 如何将复杂字符串划分为3个独立的数组?,javascript,string,arrays,Javascript,String,Arrays,我就在这里: 我从一个数组开始…使用“regex”清理它。 现在我有了这个…每个项目有三个值 mystring=4只黑猫,7只红狗,12只蓝鱼 这是我想去的地方: 我希望最后有三个阵列。 数组1=(“4”、“7”、“12”) 阵列2=(“黑色”、“红色”、“蓝色”) 数组3=(“猫”、“狗”、“鱼”) 我还希望在不离开页面的情况下执行此操作……最好使用javascript 我理解这个理论,但语法有点纠结。您想使用split()方法: 要使用split()方法: 像这样 var value

我就在这里:
我从一个数组开始…使用“regex”清理它。
现在我有了这个…每个项目有三个值

  • mystring=4只黑猫,7只红狗,12只蓝鱼
这是我想去的地方:
我希望最后有三个阵列。

  • 数组1=(“4”、“7”、“12”)
  • 阵列2=(“黑色”、“红色”、“蓝色”)
  • 数组3=(“猫”、“狗”、“鱼”)
我还希望在不离开页面的情况下执行此操作……最好使用javascript
我理解这个理论,但语法有点纠结。

您想使用split()方法:

要使用split()方法:

像这样

var values = mystring.split(',');

var arrays = new Array();

for(var i=0; i < values.length; i++) {
    var parts = values[i].split('|');
    for(var j = 0; j < parts.length;j++) {
        if(!arrays[j]) {
            arrays[j] = new Array();
        }
        arrays[j].push(parts[j]);
    }
}
var values=mystring.split(',');
var数组=新数组();
对于(变量i=0;i
将给您一个包含这三个数组的数组。

像这样吗?:

var values = mystring.split(',');

var arrays = new Array();

for(var i=0; i < values.length; i++) {
    var parts = values[i].split('|');
    for(var j = 0; j < parts.length;j++) {
        if(!arrays[j]) {
            arrays[j] = new Array();
        }
        arrays[j].push(parts[j]);
    }
}
var values=mystring.split(',');
var数组=新数组();
对于(变量i=0;i

将为您提供一个包含这三个数组的数组。

我在这里使用John Resig著名的方法,它非常适合:

var arr1 = [], arr2 = [], arr3 = [],
    mystring = "4|black|cat, 7|red|dog, 12|blue|fish";

mystring.replace(/(\d+)\|([^\|]+)\|([^,]+)/g, function ($0, $1, $2, $3) { 
    arr1.push($1);
    arr2.push($2);
    arr3.push($3);
}); 

我会在这里使用John Resig著名的方法,它非常适合:

var arr1 = [], arr2 = [], arr3 = [],
    mystring = "4|black|cat, 7|red|dog, 12|blue|fish";

mystring.replace(/(\d+)\|([^\|]+)\|([^,]+)/g, function ($0, $1, $2, $3) { 
    arr1.push($1);
    arr2.push($2);
    arr3.push($3);
}); 

您从一个数组开始,希望以多个数组结束…为什么要通过字符串绕道而行?最初的数组是什么样子的?我听到了,但它实际上开始时要复杂得多…我有一个PHP SOAP响应--“Method”,“ItemNo,1 | 23 | book1,4 | 34,book2,32 | 340 | book3”-我需要从中提取两个变量(Method&ItemNo),留下一个值,然后我将它压入第三个变量(这个愚蠢的字符串),其中一部分将用于填充下拉列表。我相信这不是最有说服力的过程,但这也是一个学习过程,哈哈。你从一个数组开始,你想以多个数组结束……为什么要通过字符串绕道?最初的数组是什么样子的?我听到了,但它实际上开始时要复杂得多…我有一个PHP SOAP响应--“Method”,“ItemNo,1 | 23 | book1,4 | 34,book2,32 | 340 | book3”-我需要从中提取两个变量(Method&ItemNo),留下一个值,然后我将它压入第三个变量(这个愚蠢的字符串),其中一部分将用于填充下拉列表。我相信这不是最有说服力的过程,但它也是一个学习过程,哈哈。一旦你有了这样的过程,你就可以抓住每个数组的第一个索引,使你的数组成为一个数组,并对2和3做同样的事情。如果我理解你的问题,这似乎是个好主意。一旦你有了这样的问题,你就可以抓取每个数组的第一个索引,使你的数组成为一个,并对2和3做同样的操作。如果我理解你的问题,这似乎是个好主意。