Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

200
Visualizações
How to return only numeric values?

I am trying to return the average. How can I get only the numbers and leave out false, "str"?

function average2 () {
    console.log (`arguments passed: ${arguments.length}`)
    console.log("All arguments:");
    let sum = 0;
    let numOnly = arguments.match(/\d+/)[0]
    for (let i= 0; i < arguments.length; i++) {
        sum += arguments[i]
    }
    return (sum) / arguments.length
}
console.log (average2 (5, 6, false, "str", 100))
about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

You can filter numbers by using typeof operator, like this:

function average (...params) {
    const nums = params.filter(n => typeof n == 'number');
    return nums.reduce((acc,n) => acc+n) / nums.length;
}
console.log (average (5, 6, false, "str", 7))

in this example I just calculated average of nums, if you want to calculate average based on arguments length, you can replace return nums.reduce((acc,n) => acc+n) / nums.length; with return nums.reduce((acc,n) => acc+n) / params.length;

about 4 years ago · Juan Pablo Isaza Relatório

0

You can use this:

function average() {
    const numericArgs = [...arguments].filter(x => typeof x === 'number');
    return numericArgs.reduce((a, b) => a + b, 0) / numericArgs.length;
}

And you can use this:

function average(...args) {
    const numericArgs = args.filter(x => typeof x === 'number');
    return numericArgs.reduce((a, b) => a + b, 0) / numericArgs.length;
}
about 4 years ago · Juan Pablo Isaza Relatório

0

Just add a type check before doing the addition:

function average2 () {
    let sum = 0;
    for (let i= 0; i < arguments.length; i++) {
      if(typeof arguments[i] === "number"){
        sum += arguments[i]
      }
    }
    return (sum) / arguments.length
}
console.log (average2 (5, 6, false, "str", 100))

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda