Javascript: как передать один элемент из массива в функцию - PullRequest
0 голосов
/ 03 марта 2012

У меня есть массив:

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

И хотите передать функции только индексы из массива (не весь массив) по индексу:

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

Это не работает. Инструменты отладки ожидают другого синтаксиса.

Ответы [ 2 ]

3 голосов
/ 03 марта 2012
function foobar(a, b)
{
     some function...
}

foobar(animals[1], animals[3]);
2 голосов
/ 03 марта 2012
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 

Также посмотрите на фрагмент массива

В двух последних функциях вы можете выполнить

  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");
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...