Не могу найти ошибку в коде
Нужно избавится от логических операторов && и ||, заменив их на более читаемые конструкции if / else. Исходный код:
function getBoolean(a, b, c, d) { return a && a > b && c > d && a < c || b && b > a && c > a || c > d && d && d < a; } Вот что у меня получилось: function getBoolean(a, b, c, d) { if(a < b){ if(c > d){ if(a < c){ return true } } } if(b > a){ if(c > a){ return true } } if (c > d){ if(d < a){ return true } } else{ return false } } Все работает правильно, только input: a = 0, b = 0, c = 54, d = 3 должен возвращать false, а у меня возвращается undefined. Где ошибка? |
Вот так прошлло
function getBoolean(a, b, c, d) { if (a < b){ return true; } if (a < d){ return false; } if (c > d) { return true; } if (a === c) { return false; } } |
if (a < b){
return true; } if (a < d){ return false; } Очепятка? |
Метод pop() при нажатии на кнопку
Ребят, всем привет!
В данной теме я совсем новенькая, буквально пару недель назад начала изучать Javascript. Пока решаю простые задачки, чтобы научиться. Возник 1 вопрос по коду. Я хочу, чтоб при нажатии на кнопочку Try it,слово Mango исчезало. При этом мне важно это сделать именно с использованием метода pop() Написала такой код, нажимаю на кнопочку, а слово Манго на месте. Может ли кто-то помочь? <!DOCTYPE html> <html> <body> <button onclick="myFunction()">Try it</button> <p id="demo1"></p> <script> var fruits = ["Banana", "Orange", "Apple", "Mango"]; document.getElementById("demo1").innerHTML = fruits; function myFunction() { fruits.pop("Mango"); document.getElementById("demo").innerHTML = fruits; } </script> </body> </html> |
Alina Sarbu,
Пожалуйста, отформатируйте свой код! Для этого его можно заключить в специальные теги: js/css/html и т.п., например: [html run] ... минимальный код страницы с вашей проблемой [/html] О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting. |
Цитата:
|
Спасибо за ответ! Появился еще 1 вопрос по более длинной задаче. В общем мне показали как решить ее с помощью input.shift(), но также очень бы хотелось понять, как она решается с помощью индексов. 2 часа бьюсь, уже запускала дебагер и вроде как ошибка идет со строки let command = Number(input[index]); Но не понимаю, что именно надо изменить. Вот весь код.
function demo(input) { debugger; let width = Number(input[0]); let length = Number(input[1]); let height = Number(input[2]); let space = width * length * height; let sum = 0; let index = 2; let command = Number(input[index]); while (command !== "Done") { let currentCubic = Number(command); sum = sum + currentCubic; if(space < sum){ console.log(`No more free space! You need ${sum - space} Cubic meters more.`); break; } index++; } if(command === "Done") { console.log(`${space-sum} Cubic meters left.`); } } demo(["10", "10", "2", "20", "20", "20", "20", "122"]); |
let command = Number(input[index]);
У вас command всегда числом будет (или NaN) Как он может быть if(command === "Done") { |
Часовой пояс GMT +3, время: 04:35. |