您好,我是第一个月的 Java 脚本学生,在创建工作数组时遇到问题。我试图从用户那里获取输入,使用 parsefloat 将其从字符串更改为整数,通过函数传递它以查找中间值或中间值的平均值,但它不断出现为 NaN,尝试了各种检查值的不同方法,但它仍然拒绝接受它们作为整数,这是现在的代码。再次感谢您。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title> middle index </title>
<script>
function middleIndex() {
var index = [];
index = [
parseFloat(document.getElementById('input1').value),
parseFloat(document.getElementById('input2').value),
parseFloat(document.getElementById('input3').value),
parseFloat(document.getElementById('input4').value),
parseFloat(document.getElementById('input5').value)
];
var midindex = getMiddle(index);
document.getElementById('output').value = midindex;
};
function getMiddle(list) {
var s = list.map(function(v) {
return v.values;}).sort(function(a, b) {return a - b});
var middle = Math.floor((s.lenth - 1) / 2);
if (s.lenth % 2) {
return s[middle];
} else {
return (s[middle] + s[middle +1]) / 2.0;
}
};
</script>
</head>
<body>
<h2>Finding the middle value</h2>
<br>
<input type="text" id="input1">
<br>
<input type="text" id="input2">
<br>
<input type="text" id="input3">
<br>
<input type="text" id="input4">
<br>
<input type="text" id="input5">
<br>
<button onclick="middleIndex()">Middle</button>
<br>
<input type="text" id="output">
</body>
</html>
最佳答案
- 您的单词长度存在语法错误,这两种情况都不应该是 lenth,而是 length。
- 返回 v.values - 删除值
- 如果你只想排序,那么你只能使用 javascript 的排序函数 var s = list.sort();
所有代码完成:
function getMiddle(list) {
var s = list.sort();
var middle = Math.floor((s.length - 1) / 2);
if (s.length % 2 == 0) {
return s[middle];
} else {
return (s[middle] + s[middle + 1]) / 2.0;
}
}
关于javascript - 具有用户输入的数组上的 NaN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27314575/