Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

237
Views
How to get data value with in a loop

Hi I want to get alert "lkb_1" and "lkb_2" , but this code gives me "product_1_name" and "product_1_name" ;

eval and window functions I can get rid of them but I think they are not recommended to do that.. so is there any other solution rather than eval and window functions?

<script>
  product_1_name = "lkb_1";
  product_1_pcs = 3;
  product_2_name = "lkb_2";
  product_2_pcs = 5;
  profil_ismi = "";

  const profil_listesi = ["product_1", "product_2"];
  i = 0;
  while (i < profil_listesi.length) {
    profil_ismi = profil_listesi[i] + "_name";
    alert(profil_ismi);
    i = i + 1;
  }

</script>
about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

To avoid using eval you can do that.

The thing would work well if you wrap the product names in an array. then you can dynamically create the variable name and thus specifically retrieve the value in the array.

arr = []
arr['product_1_name'] = "lkb_1" ;
product_1_pcs       = 3 ;
    
arr['product_2_name'] = "lkb_2" ;
product_2_pcs       = 5 ;
                    
profil_ismi = "" ;
    
const profil_listesi = ["product_1","product_2"];
let i=0;
while (i<profil_listesi.length)
{
  let _name = profil_listesi[i] + '_name'
   profil_ismi     = arr[_name];
       
   alert (profil_ismi) ;
    
   i=i+1;
}

about 4 years ago · Juan Pablo Isaza Report

0

You can use eval in this case. It is safe, because it is evident that it cannot be misused for code injection in this particular case.

Still, I think it would be better (more scalable, more future proof), to have an array of products, as follows:

var products = [
  { id: 'product_1', name: 'lkb_1', pcs: '3'},
  { id: 'product_2', name: 'lkb_2', pcs: '5'}
];

const profil_listesi = ["product_1", "product_2"];
i = 0;
while (i < profil_listesi.length) {
  profil_ismi = products.find(p => p.id === profil_listesi[i])
  alert(profil_ismi.name);
  i = i + 1;
}

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!