问候我是第一个月的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>
答案 0 :(得分:1)
请验证这个答案。我认为这可能会有所帮助。
function middleIndex() {
var index = [];
var inputTags = document.getElementsByTagName('INPUT');
for(var i=1;i<inputTags.length+1;i++) {
var x = 'input' + i;
index.push(parseFloat(document.getElementById(x).value));
}
}
所以我在这里将所有值推送到索引数组中。使用return v
而不是return v.values
。
并且还使用length
而不是lenth
。
答案 1 :(得分:1)
所有代码完成:
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;
}
}