[英]How can I add 5 numbers on a empty array using 1 textbox?
我想使用一个文本框将五个数字输入数组。 并找到最大数量,然后单击结果按钮将其打印出来。 当我单击添加按钮时,我想一一输入一个数字,它会自动将一一添加到数组中。 带有JavaScript的HTML
var input = document.getElementById('input').value; function Add(numbers) { numbers = []; for(int x = 0; x < 5; x++) { var numbers = input[x]; } return numbers; } function findMax(arr) { var max = arr[0]; for(var i = 0; i < arr.length; i ++) { if(arr[i] > max) max = arr[i]; } return max; } function Result() { document.write(document.getElementById('demo').innerHTML = findMax(arr)) }
<p id = "demo">Print here the result</p> <input type = "text"; id = "input"> <button onclick = "Add()">Add</button> <button onclick = "Result()">Result</button>
要使用单个文本框获取数组中的所有5个元素(如果它们用单个空格分隔),请执行以下操作:
var arr = input.split(' ');
这将创建一个带有数字的数组“ arr”!
实际上,您编写的代码中有很多错误需要修复:
add
函数内部声明了numbers
数组两次,而在全局范围外只声明了一次。 input
值添加到array
,只需使用.push()
。 numbers
数组。 document.write()
来显示结果,只需使用document.getElementById('demo').innerHTML = findMax(numbers)
。 numbers
数组您findMax()
函数,而不是arr
在findMax(arr)
演示:
这是一个纠正了这些错误的演示。
var input = document.getElementById('input'); var numbers = []; function Add() { if (numbers.length < 5) { numbers.push(+input.value); input.value = ""; } } function findMax(arr) { var max = arr[0]; for (var i = 1; i < arr.length; i++) { if (arr[i] > max) max = arr[i]; } return max; } function Result() { console.log(numbers); document.getElementById('demo').innerHTML = findMax(numbers); }
<p id="demo">Print here the result</p> <input type="text" ; id="input"> <button onclick="Add()">Add</button> <button onclick="Result()">Result</button>
您可以尝试以下代码:
<body>
<p id = "demo">Print here the result</p>
<input type = "text"; id = "input">
<button onclick = "Add()">Add</button>
<button onclick = "Result()">Result</button>
<script>
var numbers=[];
function Add() {
var input = document.getElementById('input').value;
if(input != ""){
numbers.push(parseFloat(input));
}
document.getElementById('input').value="";
console.log(numbers);
}
function Result() {
console.log(numbers);
document.getElementById('demo').innerHTML = Math.max.apply(null, numbers);;
}
</script>
</body>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.