Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 创建一个数组_Javascript_Arrays_Push - Fatal编程技术网

Javascript 创建一个数组

Javascript 创建一个数组,javascript,arrays,push,Javascript,Arrays,Push,我有以下数组 var a = ["Banana/hgd/kjjkds", "Orange/kldj/kdl", "Apple/jlds/ldks", "Mango/dsfj/dskj"] 现在我想重新创建它,如下所示,并进行输出 { "a1" : "Banana", "a2" : "hgd", "a3" : "kjjkds" } { "a1" : "Orange", "a2" : "kldj", "a3" : "kdl" }

我有以下数组

var a = ["Banana/hgd/kjjkds", "Orange/kldj/kdl", 
         "Apple/jlds/ldks", "Mango/dsfj/dskj"]
现在我想重新创建它,如下所示,并进行输出

{
    "a1" : "Banana",
    "a2" : "hgd",
    "a3" : "kjjkds"
}
{
    "a1" : "Orange",
    "a2" : "kldj",
    "a3" : "kdl"
}
{
    "a1" : "Apple",
    "a2" : "jlds",
    "a3" : "ldks"
}
{
    "a1" : "Mango",
    "a2" : "dsfj",
    "a3" : "dskj"
}
我尝试了以下方法,但没有成功:

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);
}
var b=[];
对于(变量i=0;i
控制台
打印所有创建的数组,但
数组b
仅显示最后一个数组。我怎样才能让它工作?请帮助。

试试这个:

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);
var spl,b=[];
对于(变量i=0,len=a.length;i
试试这个:

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);
var spl,b=[];
对于(变量i=0,len=a.length;i
您正在将阵列推到自身上。这应该会发出警告信号

相反,您需要一个输出数组和一个临时数组来添加密钥

var b = [], t, s, l = a.length, i;
for( i=0; i<l; i++) {
    s = a[i].split("/");
    t = {
      "a1":s[0],
      "a2":s[1],
      "a3":s[2]
    }
    b.push(t);
}
var b=[],t,s,l=a.length,i;

对于(i=0;i您正在将阵列推到自身上。这应该会发出警告信号

相反,您需要一个输出数组和一个临时数组来添加密钥

var b = [], t, s, l = a.length, i;
for( i=0; i<l; i++) {
    s = a[i].split("/");
    t = {
      "a1":s[0],
      "a2":s[1],
      "a3":s[2]
    }
    b.push(t);
}
var b=[],t,s,l=a.length,i;

for(i=0;iYou“below”是对象表示法而不是数组。如果您的代码中有语句
b.push(b);
,那么您应该已经知道有些地方不正确。您正在将数组添加到自身中……您的“below”是对象表示法而不是数组。如果您有语句
b.push(b);
在您的代码中,您应该已经知道某些地方不正确。您正在将数组添加到自身中。。。