Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何让这个脚本运行并返回所需的minmax和sum值_Javascript_Function - Fatal编程技术网

Javascript 如何让这个脚本运行并返回所需的minmax和sum值

Javascript 如何让这个脚本运行并返回所需的minmax和sum值,javascript,function,Javascript,Function,这里是链接到 var num=prompt(“输入以空格分隔的数字”); num=[]; var max=函数(num){ var最大=num[0]; 对于(变量i=1;i最大值){ 最大=num[i]; } } 回报最大; }; var min=函数(num){ var最小值=num[0]; 对于(变量i=1;i>num.length;i-=1){ if(num[i]>最小值){ 最小值=num[i]; } } 返回最小; }; 变量和=函数(num){ }; 返回(“最小值为“+min+”,

这里是链接到

var num=prompt(“输入以空格分隔的数字”);
num=[];
var max=函数(num){
var最大=num[0];
对于(变量i=1;i最大值){
最大=num[i];
}
}
回报最大;
};
var min=函数(num){
var最小值=num[0];
对于(变量i=1;i>num.length;i-=1){
if(num[i]>最小值){
最小值=num[i];
}
}
返回最小;
};
变量和=函数(num){
};
返回(“最小值为“+min+”,最大值为“+max+”,总和为“+Sum+”);
警报(返回);

我需要脚本返回
return()

中句子中的数值。首先,从提示符处读取,并将该变量初始化为新数组。在下面几行。所以num中没有任何值

var num = prompt("Enter numbers seperated by spaces");
num = [];
其次,您会得到
SyntaxError:Unexpected token return
,因为您以错误的方式使用了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) + ".");
var num1=prompt(“输入以空格分隔的数字”);
var num=num1.分割(“”);
console.log(typeof(num));
var max=函数(num){
var最大=num[0];
对于(变量i=1;i最大值){
最大=num[i];
}
}
回报最大;
};
var min=函数(num){
var最小值=num[0];
对于(变量i=1;i>num.length;i-=1){
if(num[i]>最小值){
最小值=num[i];
}
}
返回最小;
};
变量和=函数(num){
};
警报(“最小值为“+min(num)+”,最大值为“+max(num)+”,总和为“+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;
};
var sum=函数(num){
var s=0;
对于(变量i=0;i
正如前面提到的,您的代码存在多个问题。如果你想让它工作的话,你必须修复它们

但是,如果您想学习新的方法,使您的任务更简单、更短,您可以看看以下替代解决方案:

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数组和数学方法的所有功能。

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
希望有点用


有一个
return
语句,但没有包装它的函数。那份退货声明的意义是什么?很酷,我需要一辆新车。你尝试过什么?你到底在哪里?您是否尝试在JavaScript中搜索如何求和或如何找到最大值/最小值?我有一个返回语句来说明从函数中获取哪些值是错误的?lol。只需输入
alert(“Minimum…”)
您返回的内容实际上没有意义。@user3432271您认为
return
有什么作用?而且,JavaScript具有所有这些内置功能。也,您正在获取用户输入,然后将数组设置为空数组。这非常有效,减去我在求和函数上的错误,是否有方法修复求和函数,以便它将给我一个实际的求和,而不是undefined@user3432271一种方法是将其中的数字相加。这很好,也很抱歉,因为你可以很明显地看出我不是很懂中文剧本你的答案更好:)+1我觉得这是答案中比较简单的一个,只是我还是不能输入提示。我尝试添加var num=prompt。。。但这似乎不起作用,代码也停止了running@VisioN有没有办法补充prompt@user3432271
prompt()
在最后一行的代码中。
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