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

233
Visualizações
how can I dynamically get the variables in javascript?

I am working on React app, but I think this is most likely JavaScript problem. I have many variables with a pattern, VARIABLE_NAME_{number}, example, FOO_1, FOO_2 ... so on. In my function, it takes index as input and return mapped output.

import power from 'customClass';
const getOneOfFoo = (theIndex) => {
  power()
   .then(data => {
      let result = data?.first?.second?.FOO_{theIndex}?.name ; // how can I declare this one with passing input?
     // example, if theIndex=59, I want to have
     // let result = data?.first?.second?.FOO_59?.name;
      resolve({
          result: result
      });
     })
   .catch(err => console.log(err))
  });

The data object structure is like this,

data
 |-first
     |-second
         |-FOO_1
            |-name
         |-FOO_2
            |-name
         |-FOO_3
            |-name
         |-FOO_4
            |-name
         ...

In line 5, I want to assign result dynamically. How can I achieve this?

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

You can treat it like a dictionary. Here's an example:

const data = {
  'FOO_1': { name: 'Kenobi' },
  'FOO_2': { name: 'Skywalker' },
  'FOO_3': { name: 'Yoda' },
  'FOO_4': { name: 'Kylo' },
  'FOO_5': { name: 'Sidious' }
}

function getVar(index) {
  let result = data?.[`FOO_${index}`]?.name;
  return result;
}

console.log(getVar(1)); // expected output: Kenobi
console.log(getVar(2)); // expected output: Skywalker
console.log(getVar(3)); // expected output: Yoda
console.log(getVar(4)); // expected output: Kylo
console.log(getVar(5)); // expected output: Sidious
console.log(getVar(6)); // expected output: undefined


So for your case, it would probably be something like this:

import power from 'customClass';
const getOneOfFoo = (theIndex) => {
  power()
   .then(data => {
      let result = data?.first?.second?.[`FOO_${theIndex}`]?.name;
      resolve({
          result: result
      });
     })
   .catch(err => console.log(err))
  });

And btw, resolve doesn't seem to be defined.

about 4 years ago · Juan Pablo Isaza Relatório

0

let result = data?.first?.second[`FOO_${theIndex}`]?.name ;

u can use [] with inside is string which is name of property

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