我该如何解决此代码?没有错误,可能是错误的代码-javascript(数组,数字,最大值,最小值)

阿齐克

我是javascript新手,正尝试做我的uni作业。

  1. 我需要使用输入将5个数字放入数组(用户自己输入)。
  2. 从该数组中找到最大和最小数字。
  3. 如果数组中至少有1个数字大于0,则将它们除以最大数;如果它们较小,则将其除以最小数。
  4. 在页面上显示答案
  5. 制作将改变答案颜色的按钮

我在最大和最小数字上有问题,也无法获得第3点。工作。其他的工作正常,至少我是这样认为的。

这个没有错误,但是作为回答,他只给了我0,最大/最小显示为+-无穷大。

更新:我在问题下使用了答案,并将max / min放入aprekinat()函数中,但仅在IF的前半部分有效,而ELSE无法正常工作。并且,如果您编写conosle.log(max)或min,则表明未定义max / min。

function aprekinat() {
  var max = Math.max(...numbers);
  var min = Math.min(...numbers);
  if (numbers => 1) {
    var big = document.getElementById('big');
    var bigger = numbers.map(x => x / max);
    document.getElementById('big').innerHTML = bigger;
  } else {
    var small = document.getElementById('small');
    var smaller = numbers.map(x => x / min);
    document.getElementById('small').innerHTML = smaller;
  }
}

码:

var numbers = [];

function myFunction() {
  numvalue = parseInt(document.getElementById('num').value);
  numbers.push(numvalue);
  console.log(numbers)
  return false;
}

var max = Math.max(...numbers);
var min = Math.min(...numbers);


document.getElementById('apr').onclick = aprekinat;

function aprekinat() {
  if (numbers => 1) {
    var big = document.getElementById('big');
    var bigger = numbers.map(x => x / max);
    document.getElementById('big').innerHTML = bigger;
  } else {
    var small = document.getElementById('small');
    var smaller = numbers.map(x => x / min);
    document.getElementById('small').innerHTML = smaller;
  }
}


document.getElementById('color').onclick = changeColor;
var currentColor = "black";

function changeColor() {
  if (currentColor == "black") {
    document.body.style.color = "red";
    currentColor = "red";
  } else {
    document.body.style.color = "black";
    currentColor = "black";
  }
}
<html>

<head>
  <title>Ld_js_5</title>
</head>

<body>
  <form onsubmit="return myFunction()">
    <input type="text" id="num">
    <input type="submit" value="Submit">
  </form>


  <p id="big"></p>
  <p id="small"></p>
  <button id="apr">Aprekinat!</button>
  <button id="color">Color!</button>

</body>

</html>

保罗·诺特

您已经将min()和max()计算放在任何函数之外,因此当数组仍然为空时,它们将在页面加载后立即进行计算。

他们应该在您按下“ Aprekinat!”时进行计算吗?按钮?如果是这样,则需要aprekinat()在if / then语句之前的函数中的JavaScript中放置第10行和第11行这样minmax每次您计算时都会重新评估。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

Related 相关文章

热门标签

归档