16

I have multiple arrays in a function that I want to use in another function. How can I return them to use in another function

this.runThisFunctionOnCall = function(){


    array1;
    array2;
    array3;

    return ????

}
Brian Tompsett - 汤莱恩
  • 5,753
  • 72
  • 57
  • 129
Asim Zaidi
  • 27,016
  • 49
  • 132
  • 221

3 Answers3

45

as an array ;)

this.runThisFunctionOnCall = function(){
    var array1 = [11,12,13,14,15];
    var array2 = [21,22,23,24,25];
    var array3 = [31,32,33,34,35];

    return [
     array1,
     array2,
     array3
    ];
}

call it like:

 var test =  this.runThisFunctionOnCall();
 var a = test[0][0] // is 11
 var b = test[1][0] // is 21
 var c = test[2][1] // is 32

or an object:

this.runThisFunctionOnCall = function(){
    var array1 = [11,12,13,14,15];
    var array2 = [21,22,23,24,25];
    var array3 = [31,32,33,34,35];

    return {
     array1: array1,
     array2: array2,
     array3: array3
    };
}

call it like:

 var test =  this.runThisFunctionOnCall();
 var a = test.array1[0] // is 11
 var b = test.array2[0] // is 21
 var c = test.array3[1] // is 32
Caspar Kleijne
  • 21,552
  • 13
  • 72
  • 102
1

Simply put your arrays into an array and return it I guess.

Marc Bouvier
  • 642
  • 1
  • 11
  • 27
0

I would suggest making an array of arrays. In other words, a multidimensional array. That way, you can reference all arrays outside of the function within that one returned array.

this.runThisFunctionOnCall = function(){
    array1;
    array2;
    array3;

    return [array1, array2, array3];
}
Vinay
  • 6,204
  • 6
  • 38
  • 55