Javascript 查找数组中大于等于或小于给定数量的项的数量 let number=[2,2,6,10]; 常量findAvarage=(数字)=>{ 设total=0; 设checkeintegers=Number.every(i=>!Number.isInteger(i)) if(checkIntegers=true){ for(设i=0;i{ }

Javascript 查找数组中大于等于或小于给定数量的项的数量 let number=[2,2,6,10]; 常量findAvarage=(数字)=>{ 设total=0; 设checkeintegers=Number.every(i=>!Number.isInteger(i)) if(checkIntegers=true){ for(设i=0;i{ },javascript,Javascript,在这段代码中,我计算了数组中给定数字的平均值,现在我想用第二个函数找出数组中有多少数字大于平均值 我尝试使用“查找”方法,但没有成功,请提供任何解决方案?您可以使用过滤器功能过滤掉大于平均值的数字 let numbers = [2, 2, 6, 10]; const findAvarage = (numbers) => { let total = 0; let checkIntegers = numbers.every(i => !Number.isInteger(

在这段代码中,我计算了数组中给定数字的平均值,现在我想用第二个函数找出数组中有多少数字大于平均值


我尝试使用“查找”方法,但没有成功,请提供任何解决方案?

您可以使用
过滤器
功能过滤掉大于平均值的数字

  let numbers = [2, 2, 6, 10];



const findAvarage = (numbers) => {
  let total = 0;
  let checkIntegers = numbers.every(i => !Number.isInteger(i))

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

   return avg
  } else {
    return "Only integers allowed"
  }
 
 const compareNumbers = (numbers) => {
   
 }

你可以使用过滤器或reduce来解决它

let number=[2,2,6,10];
函数CountNumber(数字){
返回数字.filter(num=>num>=number).length;
}
函数countNumbers2(编号){
返回数字。减少((计数,项目)=>count+(项目>=number),0)
}
控制台日志(countnumber(7));

log(countNumbers2(3))
Javascript没有提供许多可用于数组的扩展方法,您只有一些基本操作。 如果将这一需求转化为阵列扩展,无需调用函数即可随时随地扩展,则代码将更加简洁,具体操作如下:

Object.defineProperties(Array.prototype{
计数:{
值:函数(值){
if(isNan(value))返回NaN;
返回此.filter(x=>x>=value).length;
}
},
平均值:{
值:函数(){
设total=0;
如果(!this.every(i=>Number.isInteger(i)))
返回NaN;
for(设i=0;i
你可以这样用它来做例子

var result=numbers.count(numbers.average())
这样吗

const findAvarage=(a,b,c,d)=>[a,b,c,d].reduceRight((t,n,i,a)=>
{
t+=n
如果(!i)t/=a.length
返回t
},0)
,greaterOrEqualCount=(a、b、c、d)=>
{
设平均值=findAvarage(a,b,c,d)

返回[a,b,c,d].reduce((r,n)=>r+(nso添加一个if语句并检查并增加一个计数器我将在数组之外的第二个函数中再次循环并逐个检查?这是一个精确的复制体,一个老兄早就在15分钟内解决了这个问题xd非常感谢你这是最后一个答案的原则,对于中的同一个问题
const avg = findAvarage(numbers)
const count = numbers.filter(number => number > avg).length
 const compareNumbers = (numbers) => {
   const avg = findAvarage(numbers);
   let greater = 0;
   
   numbers.forEach((num) => { if (num > avg) greater++; });

   return greater;
 }