Я занимаюсь учебными программами и проектами в кодекадемии. На FizzBuzz ++ 1.5 они хотят, чтобы мы перезаписали функцию Wobble как Wob, используя тройные операторы. Я продолжаю получать сообщение об ошибке «Отсутствующий операнд» со следующим кодом. Также +1 в конце возврата, как это работает, javaScript сохраняет его как временное значение, потому что он не получает привязки к любому var. Спасибо за помощь. Код ниже.Тройное использование в FizzBuzz ++ 1.5 (codeacademy)
var Wibble = {
Wobble: function(a, b) {
if(a===b)
//if the variables are equal return 0
return 0;
else {
//decrement the larger of the 2 values
if (a>b) {
a--;
} else {
b--;
}
//call this function again with the decremented values
//once they are equal the functions will return up the stack
//adding 1 to the return value for each recursion
return Wibble.Wobble(a,b)+1;
}
},
//This is the line of code that doesn't want to function..
Wob: function(a, b) {
(a===b) ? return 0 :(a<b) ? return this.Wob(a--,b)+1 : return this.Wob(a,b--)+1;
}
};
Я не JavaScript парень, но, возможно, поставит 2-й тернарный оператор в скобки. Кроме того, вам нужен второй тернар (a> b)? –
Я бы немного осторожнее с вашими скобками. Посмотрите также на ответ Эдварда Томпсона. вы должны использовать только тернарный оператор, чтобы превратить условие в значение –