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

172
Visualizações
Return a value from a function within a function

So, I have a function that is used to iterate over rows within a spreadsheet. Based on checking some values, I need to return a value, if not, shouldn't return. I don't know how to return only in the specific cases when the function(row) has a return value.

function GetOldAreaSize(ID, area_changed, change_doc, area_kha, sheetSource) {
  
  var data = sheetSource.getDataRange().getValues();
  data.forEach(function (row) {
    if (row[0] == ID) {
      var area_changed_old = row[4];
      var change_doc_old = row[2]+row[3];
      var area_kha_old = row[15];

      if (area_changed == area_changed_old) {
        if (change_doc == "MR1") {
          if (change_doc_old == "PDD1") {
            var old_area = parseFloat(area_kha_old);
            Logger.log(old_area+" - "+parseFloat(area_kha))
            return parseFloat(area_kha_old);
          }} else if (change_doc == "MR2") {
            if (change_doc_old == "MR1") {
              Logger.log(area_kha_old+" - "+parseFloat(area_kha))
              return parseFloat(area_kha_old);
          }} else if (change_doc == "MR3") {
            if (change_doc_old == "MR2") {
              Logger.log(area_kha_old+" - "+parseFloat(area_kha))
              return parseFloat(area_kha_old);
          }} else if (change_doc == "MR4") {
            if (change_doc_old == "MR3") {
              Logger.log(area_kha_old+" - "+parseFloat(area_kha))
              return parseFloat(area_kha_old);
          }} else if (change_doc == "MR5") {
            if (change_doc_old == "MR4") {
              return parseFloat(area_kha_old);
          }} else if (change_doc == "MR6") {
            if (change_doc_old == "MR5") {
              return parseFloat(area_kha_old);
          }}
          else {
            ;
          }
      }
  } else{
    ;
  }});
}
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

In JavaScript when nesting functions, you can't return from an inner function for the outer function.

I recommend using a for loop instead of .forEach():

let data = sheetSource.getDataRange().getValues();
for(let row of data) {
   /* Your code */
}
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