在javascript中从return捕获数组

在javascript中从return捕获数组,javascript,Javascript,我有一些函数,它返回一个数组。这些函数将由另一个函数调用。我的代码似乎不起作用,知道为什么吗 function foo1(){ .. .. var A[]; return A; } function foo2(){ .. .. var B[]; return B; } function catcher(){ c1=foo1(); c2=foo2(); var d=[]; for(var i

我有一些
函数
,它返回一个
数组
。这些
函数
将由另一个
函数
调用。我的代码似乎不起作用,知道为什么吗

function foo1(){
    ..
    ..
    var A[];

    return A;
}

function foo2(){
    ..
    ..
    var B[];

    return B;
}

function catcher(){

    c1=foo1();
    c2=foo2();

    var d=[];
    for(var i = 0; i<a.length; i++){
        d.push(a[i],b[i],c[i]);
    }

}
函数foo1(){
..
..
var A[];
返回A;
}
函数foo2(){
..
..
var B[];
返回B;
}
函数捕捉器(){
c1=foo1();
c2=foo2();
var d=[];

对于(var i=0;i
var A[]
可能会给您一个javascript错误。使用
var A=[]
就像使用
var d=[]
一样。这显然也适用于
var B[]


此外,您的循环似乎引用了示例代码中不存在的变量-
a
b
c
-这是问题的一部分吗?

我认为除了语法错误之外,没有其他问题。请继续检查此小提琴

函数foo1(){
变量a=[1,2,3,4,5];
返回a;
}
函数foo2(){
var b=[6,7,8,9,10];
返回b;
}
函数init(){
var a1=foo1();
var b1=foo2();
var d=[];

对于(var i=0;i这里有几个问题(以及一些可能出现问题的问题)

首先,您需要真正声明数组,因此不要使用
var A[];
而是使用
var A=[];

其次,在
for
循环中,您正在检查
a
数组的
length
,如果其他
数组中有更多(或更少)对象,这将使代码“中断”

我根据您的示例代码编写了一个示例:

function foo1(){
    var A = ['a', 'is', 'here'];
    return A;
}

function foo2(){
    var B = ['b', 'is', 'here'];
    return B;
}

function foo3(){
    var C = ['c', 'is', 'here'];
    return C;
}

function catcher(){
    var a = foo1();
    var b = foo2();
    var c = foo3();

    var ABC = [];

    //Run for each array, so that it docent break:

    for (var i = 0; i < a.length; i++) {
        ABC.push(a[i]);
    }

    for (var i = 0; i < b.length; i++) {
        ABC.push(b[i]);
    }

    for (var i = 0; i < c.length; i++) {
        ABC.push(c[i]);
    }

    //Print out the result (to verify that it worked):

    for(var i = 0; i<ABC.length; i++){
        console.log(ABC[i]);
    }
}
函数foo1(){
变量A=['A','is','here'];
返回A;
}
函数foo2(){
变量B=['B','is','here'];
返回B;
}
函数foo3(){
var C=['C','is','here'];
返回C;
}
函数捕捉器(){
var a=foo1();
var b=foo2();
var c=foo3();
var ABC=[];
//为每个阵列运行,以便它能够:
对于(变量i=0;i对于(var i=0;InPoe请忽略所有这些我实际上没有犯这些错误..我只是举了一个例子..!!出于兴趣,我的答案中的哪一部分帮助了你?你不应该在你发布的代码中犯语法错误。这会造成混淆,你是因为语法错误还是其他原因而面临问题。请看我的答案,您接受的答案没有包含代码中所需的重要部分。谢谢,实际上我的代码也起了作用。不过,请不要解释为什么之前它没有起作用。
function foo1(){
    var A = ['a', 'is', 'here'];
    return A;
}

function foo2(){
    var B = ['b', 'is', 'here'];
    return B;
}

function foo3(){
    var C = ['c', 'is', 'here'];
    return C;
}

function catcher(){
    var a = foo1();
    var b = foo2();
    var c = foo3();

    var ABC = [];

    //Run for each array, so that it docent break:

    for (var i = 0; i < a.length; i++) {
        ABC.push(a[i]);
    }

    for (var i = 0; i < b.length; i++) {
        ABC.push(b[i]);
    }

    for (var i = 0; i < c.length; i++) {
        ABC.push(c[i]);
    }

    //Print out the result (to verify that it worked):

    for(var i = 0; i<ABC.length; i++){
        console.log(ABC[i]);
    }
}