Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.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 获得平均回报NAN-JS_Javascript_Arrays - Fatal编程技术网

Javascript 获得平均回报NAN-JS

Javascript 获得平均回报NAN-JS,javascript,arrays,Javascript,Arrays,我正在编写一个名为“ComputeAverageOfNumber”的函数 给定一个数字数组,“computeAverageOfNumbers”返回它们的平均值 注: 如果给定一个空数组,它应该返回0 这是我的密码: 函数计算平均数(nums){ var合计=0; 对于(变量i=0;i返回NaN而不是0只需执行以下操作 if( nums.length == 0 ) return 0; 编码 function computeAverageOfNumbers(nums) { if (num

我正在编写一个名为“ComputeAverageOfNumber”的函数

给定一个数字数组,“computeAverageOfNumbers”返回它们的平均值

注:

  • 如果给定一个空数组,它应该返回0
这是我的密码:

函数计算平均数(nums){
var合计=0;
对于(变量i=0;i返回NaN而不是0
只需执行以下操作

if( nums.length == 0 ) return 0;
编码

function computeAverageOfNumbers(nums) {
  if (nums.length == 0) return 0;
  var total = 0;
  for (var i = 0; i < nums.length; i++){
    total += nums[i];
  }
  var avg = total / nums.length;
  return avg;
}
函数计算平均数(nums){
如果(nums.length==0)返回0;
var合计=0;
对于(变量i=0;i
只需执行以下操作

if( nums.length == 0 ) return 0;
编码

function computeAverageOfNumbers(nums) {
  if (nums.length == 0) return 0;
  var total = 0;
  for (var i = 0; i < nums.length; i++){
    total += nums[i];
  }
  var avg = total / nums.length;
  return avg;
}
函数计算平均数(nums){
如果(nums.length==0)返回0;
var合计=0;
对于(变量i=0;i
只要检查
nums.length

函数计算平均数(nums){
如果(nums.length==0){
返回0
}否则{
var合计=0;
对于(变量i=0;i控制台日志(输出)只需检查
nums.length

函数计算平均数(nums){
如果(nums.length==0){
返回0
}否则{
var合计=0;
对于(变量i=0;i控制台日志(输出)当数组为空时,nums.length=0,如果将一个数字除以0,则会得到NaN。
换衣服

var avg=总长度/nums.length

var avg=(nums.length)?总计/nums.length:0


要解决数组为空时出现的问题,nums.length=0和a如果将一个数字除以0,则会得到NaN。 换衣服

var avg=总长度/nums.length

var avg=(nums.length)?总计/nums.length:0


要解决问题,请在传递空数组时执行以下操作:

var avg = total / nums.length;
是零的除法,所以平均值为NaN。我会在开始时用以下方法使功能短路:

if (nums.length === 0)
    return 0;

请记住,理想情况下,您还需要进行一些类型检查,以确认是否有数组等。但上述内容应为您提供基本信息。

当您传递一个空数组时,则此行:

var avg = total / nums.length;
是零的除法,所以平均值为NaN。我会在开始时用以下方法使功能短路:

if (nums.length === 0)
    return 0;

请记住,理想情况下,您还需要进行一些类型检查,以确认是否有阵列等。但以上内容应为您提供基本信息。

这是程序的逻辑部分,您必须在做出任何具体决定之前进行检查。例如,您可能需要确保提供的输入不是空数组,而是一个数字数组。这是程序的逻辑部分,在做出任何具体决定之前,您必须进行检查。例如,您可能需要确保提供的输入不是一个空数组,而是一个数字数组。为了清楚起见,将大多数数字除以
0
将产生
无穷大
——除了
0/0
产生
NaN
(就像
任何错误/0
)以清除,将大多数数字除以
0
会产生
无穷大
——除了
0/0
会产生
NaN
(与
任何错误的/0
一样)