简体   繁体   English

迭代变量 (JavaScript)

[英]Iterate over variables (JavaScript)

I have variables experience_company_1, experience_position_1, experience_company_2, experience_position_2,....我有变量experience_company_1, experience_position_1, experience_company_2, experience_position_2,....

How do I apply a for loop to these variables?如何对这些变量应用 for 循环? 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.注意:这些是 axios 响应的值。

First of all, you should use an array in cases like these.首先,在这种情况下,您应该使用array However, if you do want to go with your approach, you can use eval() and Template Literals .但是,如果您确实想使用您的方法 go ,您可以使用eval()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.注意: eval()是邪恶的,不推荐使用。

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:使用 jso 结构:

 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; }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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