Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Не могу найти ошибку в коде (https://javascript.ru/forum/misc/80068-ne-mogu-najjti-oshibku-v-kode.html)

AlexRow 23.04.2020 13:27

Не могу найти ошибку в коде
 
Нужно избавится от логических операторов && и ||, заменив их на более читаемые конструкции 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.
Где ошибка?

AlexRow 23.04.2020 13:44

Вот так прошлло
 
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;
  }
}

laimas 23.04.2020 14:36

if (a < b){
return true;
} if (a < d){
return false;
}

Очепятка?

Alina Sarbu 28.04.2020 18:39

Метод 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

Alina Sarbu,
Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[html run]
... минимальный код страницы с вашей проблемой
[/html]

О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.

рони 28.04.2020 18:55

Цитата:

Сообщение от Alina Sarbu
Написала такой код, нажимаю на кнопочку, а слово Манго на месте.

нет элемента который ищется по id в функции

Alina Sarbu 02.03.2021 20:47

Спасибо за ответ! Появился еще 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"]);

voraa 02.03.2021 21:18

let command = Number(input[index]);

У вас command всегда числом будет (или NaN)
Как он может быть

if(command === "Done") {


Часовой пояс GMT +3, время: 04:35.