<分区>
好的,所以我需要做的是返回数组中最中间的值。我应该使用 Math.round
来计算数组中的中间索引。需要说明的是,我不是在谈论中位数,而是中间值。
这就是我需要在文本中做的事情,因为我是 javascript 的新手,但我不知道如何完全执行它。有什么想法吗?
此外,如果您认为这个问题不属于这里或很愚蠢,请将我带到可以找到此信息的地方,我只是想在这里学习。
function test(arr) {
}
标签 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/