简体   繁体   中英

Iterate over variables (JavaScript)

I have variables experience_company_1, experience_position_1, experience_company_2, experience_position_2,....

How do I apply a for loop to these variables? What I tried:

for(let i = 1; i < 5; i++){
   console.log(experience_company_ + i)
}

but not working.

Note: These are the values of axios response.

First of all, you should use an array in cases like these. However, if you do want to go with your approach, you can use eval() and Template Literals .

for(let i = 1; i < 5; i++){
  exp_var = eval(`experience_company_${i}`);
  console.log(exp_var);
}

Caution: eval() is evil and is not recommended.

Something like this:

 var experience_company_1 = 'Company 1', experience_position_1 = 'Position 1', experience_company_2 = 'Company 2', experience_position_2 = 'Position 2'; [ experience_company_1, experience_position_1, experience_company_2, experience_position_2 ].forEach(value => { console.log(value); });

use a jso structure:

 var experience = { company_1: 'c-1', position_1: 'p-1', company_2: 'c-2', position_2: 'p-2', company_3: 'c-3', position_3: 'p-3', company_4: 'c-4', position_4: 'p-4', company_5: 'c-5', position_5: 'p-5' } experience.position_2 = 'something else' for(let i=1;i<6;++i) { console.log(experience['company_'+i], experience['position_'+i] ) }
 .as-console-wrapper { max-height: 100%;important: top; 0; }

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM