Вопрос
Создайте функцию, которая суммирует два аргумента вместе. Если указан только один аргумент, вернуть функцию, которая ожидает один аргумент и возвращает сумму.
Например, addTogether (2, 3) должна вернуть 5, а addTogether (2) должна вернуть функцию.
Вызов этой возвращенной функции с одним аргументом вернет сумму:
var sumTwoAnd = addTogether (2);
sumTwoAnd (3) возвращает 5.
Если какой-либо аргумент не является допустимым числом, вернуть неопределенное значение.
Что я пытался
function addTogether(a, b) {
if(typeof(a) !== 'number'){
return undefined;
}
if(arguments.length == 2){
let tim = arguments[0] + arguments[1];
if(!tim.isNaN){
return tim;
}
}
else if(arguments.length == 1){
return function(a, c){
let result = c + a;
if(!result.isNaN){
return result;
}
}
}
}
addTogether(2,3);
console.log(addTogether(2)([3]))
console.log(addTogether(2),(3))
Сбой следующих Console.logs
addTogether (2) (3) должен вернуть 5.
addTogether (2, «3») должен возвращать undefined.
addTogether (2) ([3]) должен возвращать undefined.
Что бы я хотел знать
- Как исправить мой код?
- Как бы вы это сделали?