繁体   English   中英

检查数组中的任何数字是否大于给定的数字 Javascript

[英]Check if any number in array is bigger than given number Javascript

我有这个函数可以在数组中找到平均数:

const findAvarage = (a,b,c,d) =>{
  let total = 0;
  let numbers = [a,b,c,d];

for(let i = 0; i < numbers.length; i++) {
    total += numbers[i];
}
let avg = total / numbers.length;

console.log("avg",avg)
}

findAvarage(2,2,6,10);

现在我需要找出数组中大于平均数的数字索引,请问有什么建议吗?

您可以使用find()方法实现此目的:

const array1 = [2, 2, 6, 10];

const found = array1.find(element => element > findAvarage(2,2,6,10));

console.log(found);

如果要取回元素的索引,请改用findIndex()

来源: https : //developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find

 const findAvarage = (a,b,c,d) =>{ let total = 0; let numbers = [a,b,c,d]; for(let i = 0; i < numbers.length; i++) { total += numbers[i]; } let avg = total / numbers.length; return avg; } let arr = [2, 2, 6, 10]; arr=arr.filter(element => element > findAvarage(2,2,6,10)); console.log(arr); //this shows all numbers > average //now to see the highest number var yourAnswer = arr.sort()[arr.length-1]; console.log("Your answer is "+yourAnswer);

这只是运行版本

我看到了很多答案,但都没有改进查找平均值功能,它仅限于四位数并且不返回结果,即使找到比平均值最大的数字,两者都应该是动态的

 const findAvarage = (...nums) => nums.reduce((a, b) => a + b) / nums.length || 0; const getBiggestNumberThanTheAverage = (...nums) => { let average = findAvarage(...nums); return nums.find(num => num > average); } console.log(getBiggestNumberThanTheAverage(2, 2, 6, 10)); console.log(getBiggestNumberThanTheAverage(3, 2, 7)); console.log(getBiggestNumberThanTheAverage(7, 5, 9, 10, 18, 8, 1, 6));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM