【发布时间】:2015-08-19 11:27:38
【问题描述】:
我是新来的。我花了一整天的时间试图找出我的代码出了什么问题。是的,这对你来说可能是一个简单的问题,因为我大约一个月前才开始使用 JavaSript。无论如何,非常感谢您帮助识别我的代码中的错误!
================================================ =============================
问题:
编写一个名为extremeValue 的函数。它需要2个参数。第一个是整数数组(您不需要验证它)。第二个参数是字符串“Minimum”或“Maximum”。该函数根据第二个参数的值返回数组中的最小或最大元素值。
不要使用 Math.min 或 Math.max。在数组中查找最小值的标准算法是假设第一个元素(在索引 0 处)是当前最小值。然后从第二个元素到最后一个重复处理数组。在每次迭代中,将正在处理的当前元素与当前最小值进行比较。如果小于最小值,则将其设置为当前最小值。这样,在处理结束时,当前最小值保存了数组中的最小元素值。类似的过程将用于找到最大值。测试你的代码。 (1 分)
此函数根据其第二个参数执行两项不同的工作。这种编码函数的方法的优缺点是什么?
我的答案(不起作用):
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Eng1003 Workshop Code Week 04</title>
<style>
#outputArea{
padding: .25em;
border: solid black 2px;
margin: 3em;
height: 20em;
width: 20em;
overflow-y: scroll;
font-family: arial "sans serif";
font-size: 1em;
color: rgb(50, 50, 250);
background-color: rgb(225,225,225) ;
}
</style>
</head>
<body>
<!-- -->
<div id="outputArea"></div>
<script>
function maximum(setOfValues){
var retVal = "" ;
var length = setOfValues.length ;
var max = 0 ;
for (var i = 0; i < length; i++){
if (setOfValues[i] > max){
max = setOfValues[i] ;
}
}
retVal = max ;
return retVal ;
}
function minimum(setOfValues){
var retVal = "";
var length = setOfValues.length ;
var min = 0 ;
for (var i = 0; i < length; i++){
if (setOfValues[i] < min){
min = setOfValues[i] ;
}
}
retVal = min;
return retVal ;
}
function extremeValue(setOfValues, command){
var outString = "" ;
var retVal = "" ;
if (command = "Maximum"){
outString = "The maximum value is " + maximum(setOfValues) + "." ;
} else if (command = "Minimum"){
outString = "The minimum value is " + minimum(setOfValues) + "." ;
} else {
outString = "Sorry, but your command is unclear. Please ensure that your input is either 'Maximum' or 'Minimum'." ;
}
retVal = outString ;
return retVal ;
}
var target = document.getElementById("outputArea") ;
var inputCommand = prompt("What is your command?") ;
var inputValues = [10,30,500, 1000] ;
var finalAnswer = "" ;
finalAnswer = extremeValue(inputValues, inputCommand) ;
target.innerHTML = finalAnswer ;
</script>
</body>
【问题讨论】:
标签: javascript arrays function loops for-loop