Javascript 从数组中获取值
我有一些代码需要帮助:Javascript 从数组中获取值,javascript,arrays,function,Javascript,Arrays,Function,我有一些代码需要帮助: var bob = [10,30,50,20,8]; // Call the function foo(bob); var foo = function(bob){ var max = 0, min = 0, average = 0, sum = 0; max = Math.max.apply( null, bob); // Get the max value. min = Math.min.apply( null, bob); // Get the
var bob = [10,30,50,20,8];
// Call the function
foo(bob);
var foo = function(bob){
var max = 0,
min = 0,
average = 0,
sum = 0;
max = Math.max.apply( null, bob); // Get the max value.
min = Math.min.apply( null, bob); // Get the min value.
for( var i = 0; i < bob.length; i++ ){
sum += bob[ i ];
}
average = sum / l;
var resultArr = [];
resultArr[0] = average;
resultArr[1] = min;
resultArr[2] = max;
return resultArr;
}
document.getElementById('max').innerHTML = "Max value: "; // i want to print the max value here.
var-bob=[10,30,50,20,8];
//调用函数
傅(鲍勃),;
var foo=函数(bob){
var max=0,
最小值=0,
平均值=0,
总和=0;
max=Math.max.apply(null,bob);//获取最大值。
min=Math.min.apply(null,bob);//获取最小值。
对于(变量i=0;i
此函数返回一个包含最大值、最小值和平均值的数组。如何选择在不同的div中打印哪个值?您已经有了答案:
var resultArr = foo(bob);
document.getElementById('max').innerHTML = resultArr[2];
document.getElementById('min').innerHTML = resultArr[1];
// etc
或
你在这里有很多困惑。有一个全局变量
bob
,还有一个函数参数bob
。此外,您还有一个结果数组,该数组位于foo
函数的本地,称为resultar
,但在调用foo
函数时,您不会将其分配到任何位置
请尝试以下代码:
var bob = [10,30,50,20,8];
var foo = function(arrayOfNumbers){
var resultObj = {
max: 0,
min: 0,
average: 0,
sum: 0
};
resultObj.max = Math.max.apply( null, arrayOfNumbers); // Get the max value.
resultObj.min = Math.min.apply( null, arrayOfNumbers); // Get the min value.
for( var i = 0; i < arrayOfNumbers.length; i++ ){
resultObj.sum += arrayOfNumbers[ i ];
}
resultObj.average = sum / l;
return resultObj;
}
// Call the function
var theResult = foo(bob);
document.getElementById('max').innerHTML = "Max value: "+theResult.max;
var-bob=[10,30,50,20,8];
var foo=函数(ArrayOfNumber){
var resultObj={
最高:0,
分:0,,
平均:0,
总数:0
};
resultObj.max=Math.max.apply(null,ArrayOfNumber);//获取最大值。
resultObj.min=Math.min.apply(null,ArrayOfNumber);//获取最小值。
对于(变量i=0;i
以下是我对您的代码所做更改的描述,以及原因:
bob
包含您的号码。将bob
传递给foo()
函数。在foo
中,数字现在被称为v
。这意味着您还可以拥有frank
、joe
和tom
,并且您可以对所有这些人调用foo
arrayOfNumbers
是foo
的局部变量resultar
从数组更改为对象。对象更有意义,因为可以为值指定标签。因此,现在可以通过.max
而不是[0]
访问最大值。我还展示了如何在foo
内部调用结果对象resultObj
,但将其分配给theResult
外部foo。然后,您可以参考theResult.min
、theResult.max
和theResult.average
我希望这有助于你了解这里发生了什么 我试过这个。但是Firebug给了我这个错误:Resultar不是定义文档。getElementById('max')。innerHTML=“max value:”+Resultar[2]@法拉利,你必须做
resultar=foo(鲍勃)代码>first@Ferrariresultar是一个保存函数foo结果的变量。您首先必须初始化该变量:var resultar=foo([10,30,50,20,8]);或者您需要处理的任何数组
<div id="max">
<script>document.write(resultArr[2]);</script>
</div>
$('#max').val(resultArr[2]);
var bob = [10,30,50,20,8];
var foo = function(arrayOfNumbers){
var resultObj = {
max: 0,
min: 0,
average: 0,
sum: 0
};
resultObj.max = Math.max.apply( null, arrayOfNumbers); // Get the max value.
resultObj.min = Math.min.apply( null, arrayOfNumbers); // Get the min value.
for( var i = 0; i < arrayOfNumbers.length; i++ ){
resultObj.sum += arrayOfNumbers[ i ];
}
resultObj.average = sum / l;
return resultObj;
}
// Call the function
var theResult = foo(bob);
document.getElementById('max').innerHTML = "Max value: "+theResult.max;