有没有办法使用 for 循环来显示数组数字的商和乘积?



需要作业方面的帮助。我需要创建一个按钮,该按钮使用 for 循环将数组中的每个数字乘以它后面的数字成第二个数组并显示结果。最后,创建另一个按钮,该按钮使用 while 循环将数组中的每个数字除以它后面的数字,然后再次显示结果。我已经创建了一种方法将数字输入数组"数字"并显示数组,但不知道如何使用 for 循环来显示商或乘积,请帮助:(

<!DOCTYPE html>
<html>
<head>
</head>
<body>
<input type="number" id="num" min="0" max="100">
<button onclick="myFunction()">Try it</button>
<button onclick="SortFunction()">Sort it</button>
<button onclick="AddFunction()">Add it</button>
<p id="demo"></p>
<script>
var myarray =[] ;
var text ;
function myFunction()
{
var fLen ;
var x = document.getElementById("num").value;
var i ;
myarray.push(Number(x));
fLen = myarray.length ;
text = "<ul>";
for (i = 0; i < fLen; i++)
{
text += "<li>" + myarray[i] + "</li>";
}
text += "</ul>";
document.getElementById("demo").innerHTML = text;
}
function SortFunction()
{
myarray.sort(function(a, b){return a - b});
document.getElementById("demo").innerHTML = myarray;
}
function AddFunction()
{
var sum = 0 ;
var fLen ;
var i ;
fLen = myarray.length ;
for (i = 0; i < fLen; i++)
{
sum = sum + Number(myarray[i]);
}
document.getElementById("demo").innerHTML = sum;
}
</script>

好吧,简单地说,您可以添加这些按钮,并尝试为相关函数中的每个按钮创建一些特殊逻辑,例如MultiplyNumbers()DivideNumbers()

<button onclick="MultiplyNumbers()">Multiply pairs</button>
<button onclick="DivideNumbers()">Divide pairs</button>

在这两个函数中,首先你应该通过用 2 ->length % 2 == 0除以长度来检查主数组是否有配对值,然后使用 isNaN(( 函数检查它们是否是有效的数字,如果配对中的某个值无效,你可以定义这个数学的结果等于0或你想要的。除法函数请求也用0检查每对中的第二个值,因为你不能用零除以一个数字(或者你可以(。

因此,第一个函数通过for循环工作,第二个函数通过循环工作while

下面的代码片段向您展示了这两个函数,它们通过这个简单的规则可以正常工作。如果我错过了什么,你可以告诉我。

var myarray =[] ;
var text ;
function myFunction()
{
var fLen ;
var x = document.getElementById("num").value;
var i ;
myarray.push(Number(x));
fLen = myarray.length ;
text = "<ul>";
for (i = 0; i < fLen; i++)
{
text += "<li>" + myarray[i] + "</li>";
}
text += "</ul>";
document.getElementById("demo").innerHTML = text;
}
function SortFunction()
{
myarray.sort(function(a, b){return a - b});
document.getElementById("demo").innerHTML = myarray;
}
function AddFunction()
{
var sum = 0 ;
var fLen ;
var i ;
fLen = myarray.length ;
for (i = 0; i < fLen; i++)
{
sum = sum + Number(myarray[i]);
}
document.getElementById("demo").innerHTML = sum;
}

function MultiplyNumbers() { 
let multNumbers = [];

if (myarray.length % 2 == 0){
let actions = myarray.length / 2;
for(let i = 0; i < actions; i++){ 
var tmult = (isNaN(myarray[i*2]) || isNaN(myarray[i*2+1])) ? 
0 : 
Number(myarray[i*2]) * Number(myarray[i*2+1]);
multNumbers.push(tmult);
}

document.getElementById("demo").innerHTML = multNumbers;
} 
}

function DivideNumbers() { 
let divNumbers = [];

if (myarray.length % 2 == 0){
let actions = myarray.length / 2;

let i = 0;
while(i<actions){

var tdiv = (isNaN(myarray[i*2]) || isNaN(myarray[i*2+1]) || Number(myarray[i*2+1]) == 0) ? 
0 : 
Number(myarray[i*2]) / Number(myarray[i*2+1]);
divNumbers.push(tdiv);

i++;
} 

document.getElementById("demo").innerHTML = divNumbers;
} 
}
<input type="number" id="num" min="0" max="100">
<button onclick="myFunction()">Try it</button>
<button onclick="SortFunction()">Sort it</button>
<button onclick="AddFunction()">Add it</button>
<button onclick="MultiplyNumbers()">Multiply pairs</button>
<button onclick="DivideNumbers()">Divide pairs</button>
<p id="demo"></p>

var myarray =[] ;
var text ;
function myFunction()
{
var fLen ;
var x = document.getElementById("num").value;
var i ;
myarray.push(Number(x));
fLen = myarray.length ;
text = "<ul>";
for (i = 0; i < fLen; i++)
{
text += "<li>" + myarray[i] + "</li>";
}
text += "</ul>";
document.getElementById("demo").innerHTML = text;
}
function SortFunction()
{
myarray.sort(function(a, b){return a - b});
document.getElementById("demo").innerHTML = myarray;
}
function AddFunction()
{
var sum = 0 ;
var fLen ;
var i ;
fLen = myarray.length ;
for (i = 0; i < fLen; i++)
{
sum = sum + Number(myarray[i]);
}
document.getElementById("demo").innerHTML = sum;
}


// updated code
var secondArray=[];
function multiplyFunction(){
var temp =  document.getElementById("num").value;
for(i=0;i<myarray.length;i++){
secondArray.push(Number(temp) * myarray[i]);
}
// show new array ..
text = "<ul>";
for (i = 0; i < myarray.length; i++){
text += "<li>" + secondArray[i] + "</li>";
}
text += "</ul>";
document.getElementById("demo").innerHTML = text;
//
}
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<input type="number" id="num" min="0" max="100">
<button onclick="myFunction()">Try it</button>
<button onclick="SortFunction()">Sort it</button>
<button onclick="AddFunction()">Add it</button>
<button onclick="multiplyFunction()">Multiply</button>
<button onclick="divideFunction()">Divide</button>
<p id="demo"></p>
</body>
</html>