以下是JSFiddle
的链接var num = prompt("Enter numbers seperated by spaces");
num = [];
var max = function (num) {
var largest = num[0];
for (var i = 1; i < num.length; i += 1) {
if (num[i] > largest) {
largest = num[i];
}
}
return largest;
};
var min = function (num) {
var smallest = num[0];
for (var i = 1; i > num.length; i -= 1) {
if (num[i] > smallest) {
smallest = num[i];
}
}
return smallest;
};
var sum = function (num) {
};
return("Minimum is " + min + ", Maximum is " + max + ", Sum is " + sum + ".");
alert(return);
我需要脚本来返回return()
答案 0 :(得分:1)
首先,您正在从提示中读取并将该变量初始化为新数组。下面的行。所以你没有留下任何数值
var num = prompt("Enter numbers seperated by spaces");
num = [];
其次,你得到SyntaxError: Unexpected token return
,因为你以错误的方式使用了回报。通过搜索了解返回。
第三,你没有正确地调用方法min,max和sum。
示例代码如下所示,
var num1 = prompt("Enter numbers seperated by spaces");
var num = num1.split(' ');
console.log(typeof (num));
var max = function (num) {
var largest = num[0];
for (var i = 1; i < num.length; i += 1) {
if (num[i] > largest) {
largest = num[i];
}
}
return largest;
};
var min = function (num) {
var smallest = num[0];
for (var i = 1; i > num.length; i -= 1) {
if (num[i] > smallest) {
smallest = num[i];
}
}
return smallest;
};
var sum = function (num) {
};
alert("Minimum is " + min(num) + ", Maximum is " + max(num) + ", Sum is " + sum(num) + ".");
编辑: 用以下代替总和。添加return语句可以解决未定义的问题。
var sum = function (num) {
var s = 0;
for (var i = 0; i < num.length; i++) {
s = s + parseInt(num[i], 10);
}
return s;
};
答案 1 :(得分:1)
正如@JJPA已经提到的,您的代码存在多个问题。如果你想让它工作,你必须修复它们。
但是,如果您想学习新的方法,这可以使您的任务更容易和更短,您可以看看这个替代解决方案:
function worker(str) {
var numbers = str.split(/\s+/).map(Number),
max = Math.max.apply(this, numbers),
min = Math.min.apply(this, numbers),
sum = numbers.reduce(function(a, b) { return a + b });
return 'Minimum is ' + min + ', Maximum is ' + max + ', Sum is ' + sum + '.';
}
alert( worker(prompt()) );
它完全符合您的要求,但在这里您可以使用JavaScript数组和数学方法的所有功能。
答案 2 :(得分:0)
return
返回函数的值。这里的一个解决方案是获取用户输入,在调用函数时将其添加为参数,并使该函数的结果返回所需的信息。这是你的代码被重写以使用JS允许的简写版本:
var num = prompt("Enter numbers separated by spaces");
function getValues(num) {
// split the user input into an array
// and convert the string values to integers
var arr = num.split(' ').map(Number);
// Use the Math functions to get the max and min values from the array
var max = Math.max.apply(null, arr);
var min = Math.min.apply(null, arr);
// Reduce allows you to grab the sum of the values
var sum = arr.reduce(function (p, c) { return p + c; });
// return an object with all the values attached
return { max: max, min: min, sum: sum };
}
// get the result by passing in num
var result = getValues(num);
console.log(result); // { max=66, min=1, sum=79 }
console.log(result.max) // 66
console.log(result.min) // 1
console.log(result.sum) // 79
希望它有一些用处。
<强> Demo 强>