Варианты решения
Коллеги , какие варианты решения можете предложить не задействовав 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, время: 05:15. |