Javascript中数组的中位数?

托罗夫

我试图找到数组的中位数。我做了相当多的研究,如果这似乎被问过几次,没有令人满意的答案。

创建我的数组工作正常,但是当我调用该函数时,数组已排序但它返回不同的值,从 NaN 到数组的第一个值

如何找到长度的中值,然后从它的索引中找到数组的中值?

var ar1 = [];

while (true) {
  var enterValues = prompt("enter your values");
  if (enterValues != "") {
    ar1.push(enterValues);
  } else {
    break;
  }
}

function calcMedian() {
  
  var half = Math.floor(ar1.length / 2);
  ar1.sort(function(a, b) { return a - b;});

  if (ar1.length % 2) {
    return ar1[half];
  } else {
    return (ar1[half] + ar1[half] + 1) / 2.0;
  }
}

console.log(ar1);
console.log(ar1.length);
console.log(calcMedian());
console.log(ar1);

(ps:要停止填充数组,只需输入无值即可。)

MBJH

var ar1 = [];

while (true) {
  var enterValues = prompt("enter your values");
  if (enterValues != "") {
    ar1.push(parseFloat(enterValues));
  } else {
    break;
  }
}

function calcMedian() {
  var half = Math.floor(ar1.length / 2);
  
  ar1.sort(function(a, b) { return a - b;});
  
  if (ar1.length % 2) {
    return ar1[half];
  } else {
    return (ar1[half-1] + ar1[half]) / 2.0;
  }
}

console.log(ar1);
console.log(ar1.length);
console.log(calcMedian());
console.log(ar1);

Math.floor(ar1.length)将返回(例如)4长度为8. 但是,如果您这样做,ar1[4]它实际上会返回数组中第五项,因为数组索引从零开始。因此ar1[4-1]将返回第四项,将其添加到ar1[4]第五项并将其除以二以找到中位数。如果长度是奇数,它会返回(例如)3如果长度是7. 然后它检索arr[3]作为中位数的第四项。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

查找数组的中位数

来自分类Dev

查找数组的中位数

来自分类Dev

2 d数组中的双中位数计算

来自分类Dev

在 C++ 数组中查找中位数(双精度)?

来自分类Dev

数组Matlab的行的中位数

来自分类Dev

Python中列表的中位数

来自分类Dev

R中的群组中位数

来自分类Dev

组中SQLITE的中位数

来自分类Dev

Python中列表的中位数

来自分类Dev

使用选择排序查找数组的中位数

来自分类Dev

使用中位数对数组进行排序

来自分类Dev

找出数组中位数最多的数字

来自分类Dev

在JavaScript中计算画布数组中位数的有效方法

来自分类Dev

如果数据存储在numpy数组中,如何取所有大于某个值的中位数?

来自分类Dev

从队列中创建双向链表以查找中位数与使用数组的效率

来自分类Dev

MATLAB中整个IRERE多维数组(不只是一维)的中位数

来自分类Dev

如何从numpy数组中删除两个最小的数字并计算中位数python 3

来自分类Dev

从总秒数数组的中位数中查找确切的小时数、分钟数、秒数

来自分类Dev

列表中位数的中位数

来自分类Dev

获取每组中列值的中位数

来自分类Dev

如何计算iReport中变量的中位数?

来自分类Dev

在Spark Streaming中查找中位数

来自分类Dev

如何计算AWS Redshift中的中位数?

来自分类Dev

MySQL中按中位数的复杂排序

来自分类Dev

如何计算Postgres中的中位数?

来自分类Dev

在计划中寻找中位数的功能

来自分类Dev

在Spark Streaming中查找中位数

来自分类Dev

中位数替换熊猫中的空值

来自分类Dev

在n个元素列表中的中位数