Javascript:如何将单个元素从数组传递给函数

时间:2012-03-03 17:46:20

标签: javascript arrays function

我有一个数组:

var animals = ['cat', 'dog', 'horse', 'duck']

并且希望仅通过索引将指定的元素从数组(而不是整个数组)传递给函数:

function foobar(animals[1], animals[3])
{
     some function...
}

这不起作用。调试工具需要不同的语法。

2 个答案:

答案 0 :(得分:3)

function foobar(a, b)
{
     some function...
}

foobar(animals[1], animals[3]);

答案 1 :(得分:2)

function foobar(animal)
{
     some function...
}

foobar(animals[1]); // send dog to foobar - js arrays start at 0

或多个(传递数组意味着只需要一个参数)

function foobar(subanimals)
{
     some function... 
}

foobar([animals[1],animals[3]]); // send dog and duck to foobar as an array

最后,如果您不想关心是否收到数组或单个项目

function foobar(subanimals)
{
     if (!subanimals instanceof Array) subanimals=[subanimals]; //force array

     some function... 
}


foobar(animals[2]); // send ONLY horse 

另请参阅array slice

在最后两个功能中你可以做到

  for (var i=0;i<subanimals.length;i++) {
    if (subanimals[i]=="duck") alert("fowl");
    else if (subanimals[i]=="horse") alert("ungulate");
    else alert("Neither fowl nor horse");
  }