Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.04.2020, 13:27
Интересующийся
Отправить личное сообщение для AlexRow Посмотреть профиль Найти все сообщения от AlexRow
 
Регистрация: 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.
Где ошибка?
Ответить с цитированием
  #2 (permalink)  
Старый 23.04.2020, 13:44
Интересующийся
Отправить личное сообщение для AlexRow Посмотреть профиль Найти все сообщения от AlexRow
 
Регистрация: 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;
  }
}
Ответить с цитированием
  #3 (permalink)  
Старый 23.04.2020, 14:36
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

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

Очепятка?
Ответить с цитированием
  #4 (permalink)  
Старый 28.04.2020, 18:39
Интересующийся
Отправить личное сообщение для Alina Sarbu Посмотреть профиль Найти все сообщения от Alina Sarbu
 
Регистрация: 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>
Ответить с цитированием
  #5 (permalink)  
Старый 28.04.2020, 18:54
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

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

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

О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.
Ответить с цитированием
  #6 (permalink)  
Старый 28.04.2020, 18:55
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Сообщение от Alina Sarbu
Написала такой код, нажимаю на кнопочку, а слово Манго на месте.
нет элемента который ищется по id в функции
Ответить с цитированием
  #7 (permalink)  
Старый 02.03.2021, 20:47
Интересующийся
Отправить личное сообщение для Alina Sarbu Посмотреть профиль Найти все сообщения от Alina Sarbu
 
Регистрация: 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"]);
Ответить с цитированием
  #8 (permalink)  
Старый 02.03.2021, 21:18
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,750

let command = Number(input[index]);

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

if(command === "Done") {
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите найти ошибку в Коде. useronb9788 Общие вопросы Javascript 7 11.05.2018 10:49
Не могу найти ошибку( user_045 Общие вопросы Javascript 7 01.08.2016 13:57
Помогите найти ошибку в вёрстке OlegALL (X)HTML/CSS 1 03.02.2014 11:58
Не могу найти ошибку. Hellp jey7 Events/DOM/Window 2 20.06.2010 10:49
Не могу найти ошибку Lewik AJAX и COMET 4 19.07.2009 21:33