Подтвердить что ты не робот

Передача массива в качестве параметра в JavaScript

У меня есть массив, и я хочу передать его как параметр в такой функции, как:

function something(arrayP){
    for(var i = 0; i < arrayP.length; i++){
          alert(arrayP[i].value);
    }
 }

Я получаю этот массивP [0] undefined, который может быть правдой, поскольку внутри функции я никогда не писал, что такое массив arrayP. Таким образом,

  • Можно ли передавать массивы в качестве параметров?
  • Если это так, каковы требования внутри функции?
4b9b3361

Ответ 1

Просто удалите .value, например:

function(arrayP){    
   for(var i = 0; i < arrayP.length; i++){
      alert(arrayP[i]);    //no .value here
   }
}

Конечно, вы можете передать массив, но чтобы получить элемент в этой позиции, используйте только arrayName[index], .value будет получать свойство value от объекта в этой позиции в массиве - что для вещей как строки, числа и т.д. не существует. Например, "myString".value также будет undefined.

Ответ 2

JavaScript - это динамически типизированный язык. Это означает, что вам никогда не нужно объявлять тип аргумента функции (или любую другую переменную). Таким образом, ваш код будет работать до тех пор, пока arrayP является массивом и содержит элементы со свойством value.

Ответ 3

Можно передавать массивы в функции, и нет особых требований к работе с ними. Вы уверены, что массив, к которому вы переходите к своей функции, фактически имеет элемент в [0]?