创建一个数组数组

use*_*234 0 javascript arrays push

我有以下数组

var a = ["Banana/hgd/kjjkds", "Orange/kldj/kdl", 
         "Apple/jlds/ldks", "Mango/dsfj/dskj"]
Run Code Online (Sandbox Code Playgroud)

现在我想重新创建它,如下所示并输出

{
    "a1" : "Banana",
    "a2" : "hgd",
    "a3" : "kjjkds"
}
{
    "a1" : "Orange",
    "a2" : "kldj",
    "a3" : "kdl"
}
{
    "a1" : "Apple",
    "a2" : "jlds",
    "a3" : "ldks"
}
{
    "a1" : "Mango",
    "a2" : "dsfj",
    "a3" : "dskj"
}
Run Code Online (Sandbox Code Playgroud)

我尝试了以下方法但没有任何成功:

var b = [];
for (var i = 0; i< a.length; i++) {
    b['a1'] = a[i].split("/")[0];
    b['a2'] = a[i].split("/")[1];
    b['a3'] = a[i].split("/")[2];
    console.log(b);
    b.push(b);
}
Run Code Online (Sandbox Code Playgroud)

console打印所有阵列创建,但array b只显示最后一个.我怎样才能让它发挥作用?请帮忙.

fca*_*ran 5

试试这个:

var spl, b = [];
for (var i = 0, len = a.length; i < len; i++) {

    spl  = a[i].split("/"); /* execute split() just once */

    b[i] = {
      'a1': spl[0],
      'a2': spl[1],
      'a3': spl[2]
    }
}
console.log(b);
Run Code Online (Sandbox Code Playgroud)