【发布时间】:2021-05-03 21:09:12
【问题描述】:
我是 javascript 新手,正在尝试做我的 uni 作业。
- 我需要使用输入将 5 个数字放入数组中(用户自己输入)。
- 从该数组中查找最大值和最小值。
- 如果数组中至少 1 个数大于 0,则将它们除以最大数, 如果它们更小,则除以最小值。
- 在页面上显示答案
- 制作将改变答案颜色的按钮
我对最大和最小数字有疑问,也无法得到第 3 点。工作。 其他的工作正常,至少我是这么认为的。
这一个没有错误,但作为答案,他只给了我 0,并且 max/min 显示为 +-infinity。
更新: 我在问题下使用了答案并将 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>
【问题讨论】:
标签: javascript arrays numbers max min