JavaScript 如何使用百分位公式计算给定数组中有多少个数字小于或等于给定值
以下方法介绍了如何使用JavaScript中的百分位公式计算给定数组中有多少个数字小于或等于给定值。
问题陈述: 给定一个包含不同整数值的数组和一个整数值。您需要查看给定数组中有多少个数字小于或等于给定整数值,并使用JavaScript中的百分位公式返回结果的百分位值。
例如,取数组[1,2,3,4,5,6]和给定的整数值为6。因此,如果我们计算小于和等于6的元素的数量,我们将看到有6个元素(1,2,3,4,5,6)小于和等于6。
因此,根据百分位公式,我们将将结果打印为100%,因为所有元素都小于等于给定的整数值。解决这个特定问题有几种方法。我们涵盖了以下两种方法:
方法1
- 在这种方法中,我们将使用 for-in 循环 ****来检查数组的每个元素。
- 在for循环内部,我们将保留我们的逻辑部分,并在逻辑部分完成后,通过调用一个包含我们代码的函数(或方法)将我们的结果打印到控制台。
- 在for-in循环中,我们使用了三元运算符来代替if-else语句,这将使我们的代码段变得稍微短一些且易于理解。
示例: 在此示例中,我们将使用JavaScript的for-in循环来检查有多少个数字小于或等于给定的数字。
<script>
const percentileCalculation = (arr, val) => {
let result = 0;
for (let i in arr) {
result = result + (arr[i] < val ? 1 : 0) +
(arr[i] === val ? 0.5 : 0);
}
let resultDisplay = (result / arr.length) * 100;
console.log(resultDisplay);
};
// Function call
percentileCalculation([1, 2, 3, 4, 5, 6], 5);
</script>
输出:
75
方法2
- 在这种方法中,我们将使用 reduce() 方法来遍历我们的数组并将其转化为单个实体或单个值。
- 在调用reduce()方法时,我们将在reduce()方法中编写我们的逻辑部分,并调用我们的主要方法或函数以打印结果值。
- 在reduce()方法中,我们将采用两个参数:第一个参数是“acc”变量,它被称为累加器,将作为我们的结果值,在计算之后我们可以将结果存储在其中; 第二个参数是“v”,它被称为值变量,其中每个数组的值都被存储,通过使用这个“v”变量,我们将比较每个值与给定的值进行比较。
示例: 在这个例子中,我们将使用JavaScript的reduce()方法来检查有多少个数字小于或等于给定的数字。
<script>
const percentileCalculation = (arr, val) =>
(100 *
arr.reduce(
(acc, v) => acc + (v < val ? 1 : 0) +
(v === val ? 0.5 : 0),
0
)) /
arr.length;
// Function call
console.log(percentileCalculation(
[1, 2, 3, 4, 5, 6], 5));
</script>
输出:
75