Javascript:查找数组中最中间的值

标签 javascript arrays

<分区>

好的,所以我需要做的是返回数组中最中间的值。我应该使用 Math.round 来计算数组中的中间索引。需要说明的是,我不是在谈论中位数,而是中间值。

这就是我需要在文本中做的事情,因为我是 javascript 的新手,但我不知道如何完全执行它。有什么想法吗?

此外,如果您认为这个问题不属于这里或很愚蠢,请将我带到可以找到此信息的地方,我只是想在这里学习。

function test(arr) {


}

最佳答案

如果您有一个包含例如五个项目的数组,则中间项目位于索引二:

var arr = [ item, item, middle, item, item];

将长度除以二并使用 Math.round 会得到索引三而不是二,因此您需要先从长度中减去一:

var middle = arr[Math.round((arr.length - 1) / 2)];

你在你的问题中说你应该使用 Math.round,但如果这不是必需的,你可以使用 Math.floor 更容易地得到相同的结果>:

var middle = arr[Math.floor(arr.length / 2)];

对于包含偶数项的数组,这将为您提供中间两项中的第二项。如果您想要第一个,请使用 Math.floor 并从长度中减去一个。对于奇数项,这仍然给出相同的结果:

var middle = arr[Math.floor((arr.length - 1) / 2)];

关于Javascript:查找数组中最中间的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20904368/

相关文章:

java - ext js 与 .jsp、java 后端兼容吗?

javascript - Math.random() >= 0.5 和 Math.random() - 0.5 之间有什么区别

javascript - 如何在React中动态改变文本的颜色?

arrays - 如何在 Swift 中将数组拆分为元素数量始终不同的部分?

javascript - 为什么下面的代码是异步执行的

javascript - JavaScript 引擎如何将数组对象的类型更改为字符串

c - 如何指示文件的最后一行

java - 为什么我得到空数组?

c - 在 c 中跳过空格但不换行而不中断并继续

javascript - 从 swift 接收 POST JSON 时刷新网页