Как вы можете видеть из вложения ниже... мой скрипт возвращает только один результат (500). Как я могу переписать свой код, чтобы получить оба результата? Заранее благодарю вас за ваш совет.
function multiplier() {
var number = 25;
var multiplier20 = 20;
if (number && multiplier20); {
return number * multiplier20;
}
var multiplier1 = 1;
if (number && multiplier1); {
return number * multiplier1;
}
}
multiplier();
EDIT: привет, ребята, спасибо за помощь. но я понял, в чем проблема... Я не должен возвращать объект только в число. Итак, как мне отредактировать этот код, чтобы он возвращал только два числа???
Функция может возвращать только одну вещь. Однако функция генератора (function*
) может выдать столько чисел, сколько вы хотите:
function* multiplier() {
yield 25 * 20;
yield 25 * 1;
}
console.log(...multiplier())
Вы также можете легко преобразовать результаты в массив:
const array = [...multiplier()];
(Нет, это не самый простой способ, но я пытаюсь распространять некоторые классные js :))
Вы можете попробовать следующий подход
function multiplier() {
var number = 25;
var multiplier20 = 20;
var res1 = 0;
var res2 = 0;
if (number && multiplier20); {
res1 = number * multiplier20;
}
var multiplier1 = 1;
if (number && multiplier1); {
res2 = number * multiplier1;
}
return {res1,res2};
}
var ret = multiplier();
console.log(ret);
Вы можете вернуть строку вместо 2 отдельного номера, а затем разделить на два числа. Что-то вроде этого:
function multiplier(number) {
return number * 20 + '|' + number * 1;
}
var output = multiplier(20)
console.log(output.split('|')[0], output.split('|')[1]);
Или альтернативно....
function multiplier() {
return { result1: 25 * 20, result2: 25 * 1 }
}
multiplier()
несколько раз? Для первого вы можете вернуть массив или объект; для второго вы можете написать функцию в качестве генератора.