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

177
Visualizações
whys my javascript reduce function being skipped?

my last function reducedArr, is being skipped?

when I console.log I get the newArry returned?

why is not executed??

const sumAll = function(...args) {
    let newArr = [...args];
    let sortedArr = newArr.sort(function(a,b) {
        return a - b;
    })
    let lastArr = ['']
    for (let i = sortedArr[0]; i < sortedArr[1]; ++i ) {
        lastArr.push(i)
    }
    let reducedArr = lastArr.reduce(function(previousValue,currentValue) {
        return previousValue + currentValue;
    })
    return reducedArr;
    
};

console.log(sumAll(1,4));
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Your last reduce is still working, it just appends string instead of number because you init let lastArr = [''] with a '' item.

Update it to let lastArr = []. You will see the final result.

const sumAll = function(...args) {
    let newArr = [...args];
    let sortedArr = newArr.sort(function(a,b) {
        return a - b;
    })
    let lastArr = []
    for (let i = sortedArr[0]; i < sortedArr[1]; ++i ) {
        lastArr.push(i)
    }
    
    console.log(lastArr);
    let reducedArr = lastArr.reduce(function(previousValue,currentValue) {
        return previousValue + currentValue;
    })
    return reducedArr;
    
};

console.log(sumAll(1,4));

about 4 years ago · Juan Pablo Isaza Relatório

0

You can just write the code more succinct using Array.from and reduce

NOTE: If you want to add 1 + 2 + 3 + 4 if you say as 1-4 then you can replace

Array.from({ length: end - start + 1 }, (_, i) => i + start)

const sumAll = function (a, b) {
  const [start, end] = a > b ? [b, a] : [a, b];
  return Array.from({ length: end - start }, (_, i) => i + start)
              .reduce((acc, curr) => acc + curr);
};

console.log(sumAll(1, 4));
console.log(sumAll(4, 1));

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