for loop get var1,var2,var3 ...动态地使用var + i?

时间:2018-04-26 00:36:03

标签: javascript

对于丑陋的代码感到抱歉,如果这是一个明显的问题。我很难用谷歌搜索它。

我有一个这样的数组:

var productDropArea = ['productDropArea5', 'productDropArea6','productDropArea7','productDropArea8','productDropArea9','productDropArea10'];

我也有这个对象包含数据:

 res.assetData.productMedia5
 res.assetData.productMedia6
 res.assetData.productMedia7
 res.assetData.productMedia8
 res.assetData.productMedia9
 res.assetData.productMedia10

有没有办法可以动态地通过循环访问这些数据?

我尝试过这样的事情:

for (var i = 5, len = productDropArea.length +5 ; i < len; i++) {
    console.log(res.assetData.productMedia+i);
}

哪个不起作用。有什么方法可以访问我循环中的所有res.assetData.productMedia+i数据吗?

2 个答案:

答案 0 :(得分:1)

Y = b0 + b1*X1 + fixed effects
Y = b0 + b1*X1 + b2*X2 + b3*X3 + fixed effects

model1 = felm(Y~X1| fixedeffects, data = data)
model1 = felm(Y~X1 + X2 + X3| fixedeffects, data = data)

答案 1 :(得分:1)

您必须使用括号表示法来访问具有变量名称的属性(或使用任何不能用点表示法表示的名称,例如其中包含-的字符串)。

const obj = {
  productDropArea5: 5,
  productDropArea6: 6,
  productDropArea7: 7,
  productDropArea8: 8,
  productDropArea9: 9,
  productDropArea10: 10,
};
const props = ['productDropArea5', 'productDropArea6', 'productDropArea7', 'productDropArea8', 'productDropArea9', 'productDropArea10'];
props.forEach(prop => console.log(obj[prop]));