javascript数组值的总和
正在尝试创建表单以从单位数组中添加值。无法使函数计算总数正常工作javascript数组值的总和,javascript,arrays,function,sum,Javascript,Arrays,Function,Sum,正在尝试创建表单以从单位数组中添加值。无法使函数计算总数正常工作 <script language="JavaScript" type="text/javascript"> function Calc(form) { var drink = new Array() drink [0] = form.drink0.value; drink [1] = form.drink1.value; drink [2] = form.drink2.value;
<script language="JavaScript" type="text/javascript">
function Calc(form) {
var drink = new Array()
drink [0] = form.drink0.value;
drink [1] = form.drink1.value;
drink [2] = form.drink2.value;
var units = new Array()
units [0] = 25;
units [1] = 50;
units [2] = 75;
var number_units = new Array()
form.units0.value = form.drink0.value * units[0];
form.units1.value = form.drink1.value * units[1];
form.units2.value = form.drink2.value * units[2];
}
function Calc_totals() {
var answerValue = 0;
for(i=0; i < units.length; i++)
{
answerValue += Number(units[i]);
}
form.total_units.value = answerValue;
}
</script>
我希望函数Calc_totals为单位总数,输出为form.total_units.value
HTML:
我要单位总数。
感谢您的帮助。此代码的问题是,计算总数中的单位不可见。您有几个选择: 让它成为全球性的坏选择 把它当作论据通过 或者,您可以使用reduce ECMAScript 5功能计算总和-在旧浏览器中不起作用
var sum = units.reduce(function(a, b) { return a + b });
和ES6版本
var sum = units.reduce((a, b) => a + b);
此代码的问题在于,计算单位总计中的单位不可见。您有几个选择: 让它成为全球性的坏选择 把它当作论据通过 或者,您可以使用reduce ECMAScript 5功能计算总和-在旧浏览器中不起作用
var sum = units.reduce(function(a, b) { return a + b });
和ES6版本
var sum = units.reduce((a, b) => a + b);
定义计算之外的单位
<script language="JavaScript" type="text/javascript">
var units = new Array();
function Calc() {...}
=-=-=-=-=-=-=-=-=-=编辑添加更多代码=-=-=-=-=-=-=-=-=-=-=-=
<html>
<head>
<script language="JavaScript" type="text/javascript">
var units = new Array();
function Calc() {
units [0] = 25;
units [1] = 50;
units [2] = 75;
}
function Calc_totals() {
var answerValue = 0;
for(i=0; i < units.length; i++)
{
answerValue += Number(units[i]);
}
alert(answerValue);
}
function foo()
{
Calc();
Calc_totals();
}
</script>
</head>
<body>
<a href="#" onclick="return foo();">Test</a>
</body>
</html>
定义计算之外的单位
<script language="JavaScript" type="text/javascript">
var units = new Array();
function Calc() {...}
=-=-=-=-=-=-=-=-=-=编辑添加更多代码=-=-=-=-=-=-=-=-=-=-=-=
<html>
<head>
<script language="JavaScript" type="text/javascript">
var units = new Array();
function Calc() {
units [0] = 25;
units [1] = 50;
units [2] = 75;
}
function Calc_totals() {
var answerValue = 0;
for(i=0; i < units.length; i++)
{
answerValue += Number(units[i]);
}
alert(answerValue);
}
function foo()
{
Calc();
Calc_totals();
}
</script>
</head>
<body>
<a href="#" onclick="return foo();">Test</a>
</body>
</html>
在加法和的推入式数组之后,请尝试此操作
在加法和的推入式数组之后,请尝试此操作
请提供完整的代码和表单的示例输入。你想得到什么答案…?你试过谷歌吗?我用谷歌找到了答案。是的!在过去的两天里…卡住了。你应该阅读。请提供完整的代码和表单的示例输入。你想得到什么答案…?你试过谷歌吗?我用谷歌找到了答案。是的!在过去的两天里…卡住了。您应该阅读。@jmill23修复它的简单方法是将单元移到函数var units=[]之外;单位数组中的变量太多,无法使用此函数。已尝试循环,但不起作用。@jmill23解决此问题的简单方法是将单元移到函数var units=[]之外;单位数组中的变量太多,无法使用此函数。尝试了循环,但没有工作。如何从上面的函数调用它并通过循环传递它。问题似乎是Calc_totals并没有从单位中获取值?我说的是在Calc之外定义它,而不是在Calc中定义它,并使其全局化。删除Calc中的单位定义。Calc_totals无法看到该数组,因为它是Calc的本地数组。错误似乎与for循环有关。var answerValue=0;fori=0;i<单位长度;i++{answerValue+=Numberunits[i].value;}form.total_units.value=answerValue;如果我删除for循环:var answerValue=0;form.total_units.value=应答值;我的分数是0。所以它没有从单位[i]中获取值?是的,它没有从单位中获取值。正如我之前告诉过你们的,将单位数组定义为一个全局变量而不是局部变量。好吧,我现在明白你们的意思了,但我不知道怎么做。你能给出示例代码吗?谢谢。我如何从上面的函数调用它并通过循环传递它。问题似乎是Calc_totals并没有从单位中获取值?我说的是在Calc之外定义它,而不是在Calc中定义它,并使其全局化。删除Calc中的单位定义。Calc_totals无法看到该数组,因为它是Calc的本地数组。错误似乎与for循环有关。var answerValue=0;fori=0;i<单位长度;i++{answerValue+=Numberunits[i].value;}form.total_units.value=answerValue;如果我删除for循环:var answerValue=0;form.total_units.value=应答值;我的分数是0。所以它没有从单位[i]中获取值?是的,它没有从单位中获取值。正如我之前告诉过你们的,将单位数组定义为一个全局变量而不是局部变量。好吧,我现在明白你们的意思了,但我不知道怎么做。你能给出示例代码吗?谢谢