捕获javascript中返回的数组

Catching an array from return in javascript

本文关键字:数组 返回 javascript 捕获      更新时间:2023-10-06

我有一些functions,它返回一个array。这些CCD_ 3将被另一个CCD_ 4调用。我的代码似乎不起作用,知道为什么吗?

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]);
    }
}

有人能告诉我们如何从另一个函数访问一个函数吗。我怀疑它也没有存储我想要的东西(在array中)。

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

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

我认为除了语法错误之外,没有其他问题。在JS Bin fiddle 上检查这个小提琴

function foo1() {
  var a = [1,2,3,4,5];
  return a;
}
function foo2() {
  var b = [6,7,8,9,10];
  return b;
}
function init() {
  var a1 = foo1();
  var b1 = foo2();
  var d = [];
  for (var i=0; i<a1.length; i++) {
    d.push(a1[i], b1[i]);
  }
  console.log(d);
}
init();

输出:[1,6,2,7,3,8,4,9,5,10]//如预期

如果你需要其他东西,请告诉我。

这里有一些错误(以及一些可能出错的地方)。

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

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

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

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]);
    }
}