Показать сообщение отдельно
  #19 (permalink)  
Старый 14.01.2016, 14:23
Профессор
Отправить личное сообщение для caetus Посмотреть профиль Найти все сообщения от caetus
 
Регистрация: 23.09.2014
Сообщений: 197

ребята у вас в решениях проблема , если передать 0 он все ломает
function sum () {
    var len = 0, sum = 0;
    return function fn () {
        for(var i = 0, a = arguments; i < a.length && len < 3; i++) (sum+= a[i]*1, a[i] !== '') && (len+=1);
        return (len == 3) ? sum : fn; 
    }.apply(this, [].join.call(arguments, ',').split(','));
}

alert(sum(2, 5, 10)+ "\n"+
sum(2, 5)(10)+ "\n"+
sum(2)(5)(10)+ "\n"+
sum(2)(5, 10)+ "\n"+
sum()(2)(5)(10)+ "\n"+
sum(0)(10)(7));//17

Последний раз редактировалось caetus, 14.01.2016 в 15:03.
Ответить с цитированием