![](/img/trans.png)
[英]How to tell javascript “any number bigger than” on a ternary operator?
[英]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.