Javascript 使用百分位数公式,给定数组中的多少个数字小于/等于给定值
在这篇文章中,你将了解使用百分位数公式计算给定数组中多少个数字小于/等于给定值。我们用公式计算给定数组中小于或等于该数字的百分比—-。
Percentile = (n/N) * 100
其中,n是低于x的数值的数量,N是数值的总数。
例子1
在这个例子中,我们使用for-loop来遍历数组,并检查每个元素的值是否小于、等于或大于给定的输入值。
const calculationPercentile = (inputArray, val) => {
let resultValue = 0;
for (let i in inputArray) {
resultValue = resultValue + (inputArray[i] < val ? 1 : 0) +
(inputArray[i] === val ? 0.5 : 0);
}
let displayResult = (resultValue / inputArray.length) * 100;
console.log("
The percentile value is ")
console.log(displayResult);
};
const inputArray = [3,4,5,6,7,8]
console.log("The array is defined as :", inputArray)
// calling the function calculationPercentile
calculationPercentile(inputArray, 6);
解释
- 第1步 -定义 一个数组并定义一个输入值。
-
第 2步-定义 一个函数’calculationPercentile’,它接受一个数组和一个输入值。
-
第 3步-在 该函数 中 ,定义一个变量’resultValue’,用来保存数组中小于输入值的数字。
-
第 4步 -最后 应用百分位数公式。(resultValue / inputArray.length) * 100并显示结果。
例2
在这个例子中,我们使用reduce()方法,它将遍历数组中的数字,并将其转换为一个单一的实体
const calculationPercentile = (inputArray, inputValue) =>
(100 *
inputArray.reduce(
(tempValue, v) => tempValue + (v < inputValue ? 1 : 0) +
(v === inputValue ? 0.5 : 0),
0
)) /
inputArray.length;
const inputArray = [3,4,5,6,7,8]
console.log("The array is defined as :", inputArray)
let inputValue = 6
console.log("The array is defined as :", inputValue)
console.log("
The percentile value is ")
console.log(calculationPercentile(inputArray, inputValue))
解释
-
第1步 -定义 一个数组并定义一个输入值。
-
第 2步-定义 一个函数’calculationPercentile’,它接收一个数组和一个输入值。
-
第 3步-在 该函数 中 ,使用reduce()方法获取数组中小于输入值的数值,用该数值除以数组长度,再乘以100。
-
第4步 -调用 该函数并显示结果。