23.04.2020, 13:27
|
Интересующийся
|
|
Регистрация: 12.04.2020
Сообщений: 19
|
|
Не могу найти ошибку в коде
Нужно избавится от логических операторов && и ||, заменив их на более читаемые конструкции 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.
Где ошибка?
|
|
23.04.2020, 13:44
|
Интересующийся
|
|
Регистрация: 12.04.2020
Сообщений: 19
|
|
Вот так прошлло
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;
}
}
|
|
23.04.2020, 14:36
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
if (a < b){
return true;
} if (a < d){
return false;
}
Очепятка?
|
|
28.04.2020, 18:39
|
Интересующийся
|
|
Регистрация: 28.04.2020
Сообщений: 11
|
|
Метод 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>
|
|
28.04.2020, 18:54
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,121
|
|
Alina Sarbu,
Пожалуйста, отформатируйте свой код!
Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[html run]
... минимальный код страницы с вашей проблемой
[/html]
О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.
|
|
28.04.2020, 18:55
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,121
|
|
Сообщение от Alina Sarbu
|
Написала такой код, нажимаю на кнопочку, а слово Манго на месте.
|
нет элемента который ищется по id в функции
|
|
02.03.2021, 20:47
|
Интересующийся
|
|
Регистрация: 28.04.2020
Сообщений: 11
|
|
Спасибо за ответ! Появился еще 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"]);
|
|
02.03.2021, 21:18
|
|
Профессор
|
|
Регистрация: 03.02.2020
Сообщений: 2,750
|
|
let command = Number(input[index]);
У вас command всегда числом будет (или NaN)
Как он может быть
if(command === "Done") {
|
|
|
|