Варианты решения
Коллеги , какие варианты решения можете предложить не задействовав toString в решении?:)
console.log(sum(2, 5, 10));//17 console.log(sum(2, 5)(10));//17 console.log(sum(2)(5)(10));//17 console.log(sum(2)(5, 10));//17 |
Mess4me, что есть sum?
Цитата:
var a=1; consol.log(''+a); consol.log(a+''); |
ksa,
sum это та функция что выдаст результат ) Вот её как раз я и хочу чтобы кто то написал ) |
ksa,
function sum(a) { var currentSum = a; function f(b) { currentSum += b; return f; } f.toString = function() { return currentSum; }; return f; } alert( sum(1)(2) ); // 3 alert( sum(5)(-1)(2) ); // 6 alert( sum(6)(-1)(-2)(-3) ); // 0 alert( sum(0)(1)(2)(3)(4)(5) ); // 15 Этот пример работает для вызовов (0)(1)(2)(3)(4)(5) и т п . Как реализовать без toString и для console.log(sum(2, 5, 10));//17 console.log(sum(2, 5)(10));//17 console.log(sum(2)(5)(10));//17 console.log(sum(2)(5, 10));//17 |
ksa,
исправил |
Цитата:
function sum(a) { var currentSum = a; function f(b) { currentSum += b; return f; } f.get = function() { return currentSum; }; return f; } alert( sum(1)(2).get() ); // 3 alert( sum(5)(-1)(2).get() ); // 6 alert( sum(6)(-1)(-2)(-3).get() ); // 0 alert( sum(0)(1)(2)(3)(4)(5).get() ); // 15 console.log(sum(2, 5, 10).get());//17 console.log(sum(2, 5)(10)).get();//17 console.log(sum(2)(5)(10)).get();//17 console.log(sum(2)(5, 10)).get();//17 |
Или так...
function sum(a) { var currentSum = a; function f(b) { if (b) { currentSum += b; return f; } else { return currentSum; }; }; return f; }; alert( sum(1)(2)() ); // 3 alert( sum(5)(-1)(2)() ); // 6 alert( sum(6)(-1)(-2)(-3)() ); // 0 alert( sum(0)(1)(2)(3)(4)(5)() ); // 15 |
ksa,
хорошие решения ) как реализовать для console.log(sum(2, 5, 10));//17 console.log(sum(2, 5)(10));//17 console.log(sum(2)(5)(10));//17 console.log(sum(2)(5, 10));//17 |
ksa,
прочитал в комментариях - дали кому то на собеседовании. |
Цитата:
|
Часовой пояс GMT +3, время: 04:17. |