@senselessV7

JavaScript Как передать функции один из параметров — объект?

Подскажите как передать объект как параметр ф-ии и как выглядит вызов.

Задача:
Напишите ф-ию калькулятордля сложения положительных чисел, которая принимает 3 параметра: первое число, второе число, имя опреации (плюс, минус, умножить, разделить).
  • Вопрос задан
  • 2768 просмотров
Решения вопроса 2
mlnkv
@mlnkv
JavaScript Developer
function calc(x, y, operation) {
	var operations = {
		plus: function(x, y) { return x + y },
		minus: function(x, y) { return x - y },
		multiply: function(x, y) { return x * y },
		divided: function(x, y) { return x / y },
	}
	return operations[operation] && operations[operation](x, y);
}

calc(10, 20, "plus"); // 30
Ответ написан
GavriKos
@GavriKos
1) Вы бы хоть язык указали!
2) По задаче у вас не сказано что параметр - объект. У вас параметр - имя операции. Это просто строка.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@werdender
Можно еще как-нибудь так:
function calc(a, b, operation) {
    if(['+',' -', '*', '/'].indexOf(operation) < 0) {
        throw new Error('invalid operation'); 
    }
    return eval(parseFloat(a) + operation + parseFloat(b));
};
calc(5, 2, '*') //10


(Про eval is devil в курсе)
Ответ написан
Комментировать
Keyten
@Keyten
А ещё можно как-нибудь коротко
calc=(a,b,o)=>eval((+a)+o+(+b));
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы