在js中使用3个数组作为函数参数

Use 3 arrays as function parameter in js

本文关键字:函数 参数 数组 3个 js      更新时间:2023-09-26

我想使用一些数组作为函数参数。我写了这个代码,但不起作用。请帮我

我不知道阵列的数量

function func2(x,y,z)
{
    alert(x[1]);
    alert(y[1]);
    alert(z[1]);
}
function func1()
{
    a = [1,2,3]
    b = [3,4,5]
    c = [5,6,7]
    func2(a,b,c);
}

您的func2函数正在调用自己。此外,使用var是避免意外创建全局变量的好主意:

function func2()
{
    var a = [1,2,3],
        b = [3,4,5],
        c = [5,6,7];
    func1(a,b,c);
}

更新如果您有更新的问题,如果您想创建一个接受可变数量参数的函数,您需要访问arguments对象:

function func2()
{
    alert("There are " + arguments.length + " arguments");
}

arguments对象可以像数组一样访问(尽管它实际上不是数组)。因此,要打印每个数组中的第二个元素(记住数组索引从0开始),您可以使用以下内容:

function func2()
{
    for (var i = 0; i < arguments.length; i++)
        alert(arguments[i][1]);
}

另一种策略是只接受一个数组数组(也称为多维数组,尽管从技术上讲,JavaScript不支持多维数组),如下所示:

function func2(a)
{
    for (var i = 0; i < a.length; i++)
        alert(a[i][1]);
}
function func1()
{
    var a = [1,2,3],
        b = [3,4,5],
        c = [5,6,7];
    func2([a,b,c]);   // notice the […] around the parameters
}
function func1(x,y,z)
{
    alert(x[1]);
    alert(y[1]);
    alert(z[1]);
}
function func2()
{
    var a = [1,2,3];
    var b = [3,4,5];
    var c = [5,6,7];
    func1(a,b,c);
}

如果我能很好地理解您的想法,那么您必须使用arguments来迭代动态数量的参数。假设只将数组传递给func2:

function func2() {
    for (var i = 0; i < arguments.length; i++) {
        alert(arguments[i][1]);
    }
}