Определите победителя с помощью if / else - PullRequest
0 голосов
/ 30 апреля 2018

Может кто-нибудь помочь мне и объяснить, как я могу использовать операторы внутри оператора if / else, я пытаюсь сделать что-то простое и получить результат двух разных умножений, я разработчик-самоучка, поэтому, пожалуйста, имейте в виду со мной

var oscar = {
  height: 155,
  age: 22,
};
var andrew = {
  height: 170,
  age: 16,
};

if ((oscar * 5) > (andrew * 5)) {
  console.log('Oscar is the winner');
} else if ((oscar * 5) < (andrew * 5)) {
  console.log('Andrew is the winner')
} else {
  console.log('No winner')
}

Ответы [ 2 ]

0 голосов
/ 30 апреля 2018

Вы не можете сравнивать подобные объекты.

Возможно, вы хотели назначить несколько очков? Затем добавьте еще одно свойство, которое вы МОЖЕТЕ рассчитать на

Также не нужно умножать на что-либо, если вы умножаете обе стороны знака равенства на одно и то же число

Вы можете сделать это:

function scoreIt(p1,p2) {

  var diff = p1.points - p2.points;
  console.log("diff", diff);

  if (diff > 0) {
    console.log(p1.name+ ' is the winner with ' + p1.points);
  } else if (diff < 0) {
    console.log(p2.name + ' is the winner with ' + p2.points);
  } else {
    console.log('No winner - tied score ' + p1.points);
  }
}

var participant1 = {
  name: "Oscar",
  height: 155,
  age: 22,
  points: 8 // no trailing comma
};
var participant2 = {
  name: "Andrew",
  height: 170,
  age: 16 // no trailing comma
};

// later somewhere:
participant2.points = 9; // assignment
scoreIt(participant1,participant2);

participant1.points += 5; // increase
scoreIt(participant1,participant2);

participant2.points += 4;
scoreIt(participant1,participant2);

Объект был бы еще лучше, если бы вы использовали имена в качестве ключей:

var participants = {
  "Oscar": {
    height: 155,
    age: 22,
    points: 8 // no trailing comma
  },
  "Andrew" : {
    height: 170,
    age: 16 // no trailing comma
  }
}
0 голосов
/ 30 апреля 2018

Переменные являются объектами, необходимо указать свойство сравнения. Не нужно умножать на 5.

var oscar = {
  height: 155,
  age: 22
};
var andrew = {
  height: 170,
  age: 16
};

if ((oscar.height) > (andrew.height)) {
  console.log('Oscar is the winner');
} else if ((oscar.height) < (andrew.height)) {
  console.log('Andrew is the winner')
} else {
  console.log('No winner')
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...