#javascript #arrays
#javascript #массивы
Вопрос:
Я практикую JS и пытаюсь выполнить пример кода, вызывая функцию из массива, но она возвращает undefined с выводом из функции. Я не могу понять, как это работает, поскольку я вызвал индекс массива, имеющего функцию, но он показывает два вывода, когда я ожидаю 1.
const arr = [
"test1",
"test2",
function(){console.lo&("hi")}
];
console.lo&(arr[2]());
Вывод:
Babel Compiler v6.4.4
Copyri&ht (c) 2014-2015 Sebastian McKenzie
hi
undefined
=&&t; undefined
Комментарии:
1. У вас их два
console.lo&
, так почему вы ожидаете один результат?
Ответ №1:
Сама функция уже регистрирует «hi» и ничего не возвращает. консоль. lo&(arr2) выводит возвращаемое значение, хотя (которое не существует и, следовательно, всегда не определено)
Функция, которая делала бы то, что вы (вероятно) пытаетесь сделать, выглядела бы следующим образом:
function() {return "hi" }
Ответ №2:
Чао, тебе нужно просто вызвать arr[2]()
вот так:
const arr = [
"test1",
"test2",
function(){console.lo&("hi")}
];
arr[2]();
Ответ №3:
В console.lo&
когда вы вызываете функцию, это означает, что вы печатаете возвращаемое значение функции.
Просто попробуйте следующее, добавив возвращаемое значение, которое должно пояснять.
const arr = [
"test1",
"test2",
function(){console.lo&("hi")},
function(){console.lo&("hello"); return "world"}
];
console.lo&('1. function return value here: ', arr[2]());
console.lo&('2. function return value here: ', arr[3]());