-5

Like in the title. I want to pass a few arrays as a function parameters.

var array1 = ["a", "b", "c"];
var array2 = ["d", "e"];
var array3 = ["f", "g"];

function arraysFunction(param1, param2, param3){
    var a = param1;
    var b = param2;
    var c = param3;
}

How to do that? Thanks in advance

  • 4
    What are error are you getting when you try to do a: arraysFunction(array1, array2, array3)? Functions are first class objects in javascript so your code should work from what I can tell. – Mike Cheel May 27 '15 at 20:24
  • possible duplicate of [Converting a Javascript array to a function arguments list](http://stackoverflow.com/questions/1316371/converting-a-javascript-array-to-a-function-arguments-list) – Fabricator May 27 '15 at 20:25
  • What you have should work, make sure your calling the right variables. – José Corretjer-Gómez May 27 '15 at 20:30
  • This problem is similar [Passing an array as a function parameter in JavaScript](http://stackoverflow.com/questions/2856059/passing-an-array-as-a-function-parameter-in-javascript) – Guest Guest May 27 '15 at 20:56

3 Answers3

0
var array1 = ["a", "b", "c"];
var array2 = ["d", "e"];
var array3 = ["f", "g"];

function arraysFunction(any, name, youwant){
    var a = any;
    var b = name;
    var c = youwant;
}

arraysFunction(array1,array2,array3);
stackoverfloweth
  • 6,669
  • 5
  • 38
  • 69
0

You pass an array same as any other variable.

function foo( param1 ){
    var a = param1;
    return param1;
}
var array1 = ["a","b","c"];
console.log(foo(array1));
Luka Krajnc
  • 915
  • 1
  • 7
  • 21
0

Ok, I will describe in more detail. This is my ajax function

self.buyAlbum = function () {
albumViewModel.lists.removeAll();
    $.ajax({
        url: "api/list/",
        type: "GET",
        success: function (data) {
            //alert(data.Converw);
            albumViewModel.lists.push(new addItemForm(data.Coverw, data.PublishHousew, data.PublishYearw, data.Carrierw));    
        }
    });
};

And this is my viewmodel

function addItemForm(c, h, y, ca) {
var self = this;

self.Coverw = x;
self.PublishHousew = ko.observableArray(h);
self.PublishYearw = ko.observableArray();
self.Carrierw = ko.observableArray();


//self.Coverw = ko.observableArray(['sth1', 'sth2']);
//self.PublishHousew = ko.observableArray(['sth3', 'sth4']);
//self.PublishYearw = ko.observableArray([1990, 1991, 1992]);
//self.Carrierw = ko.observableArray(['sth5', 'sth6']);
}

I use knockoutjs in asp.net mvc. In the application view I have form with four @Html.DropDownList element. As options in dropdownlists I want use my arrays. When I use this, it's OK

 //self.Coverw = ko.observableArray(['sth1', 'sth2']);
//self.PublishHousew = ko.observableArray(['sth3', 'sth4']);
//self.PublishYearw = ko.observableArray([1990, 1991, 1992]);
//self.Carrierw = ko.observableArray(['sth5', 'sth6']);

but this self.Coverw = x; and this self.PublishHousew = ko.observableArray(h); the dropdownlists are empty. I use alert(data.Converw); and it's work.