【发布时间】:2017-07-02 08:49:29
【问题描述】:
我想通过字符串+变量动态构造键。
这是我希望它可以是这样的一个例子:
var object = {x:0,y:0};
for(i=0;i<5;i++){
if(i === 0){
object.p+i = true;
}else{
object.p+i = false;
}
}
//result
object.p0 = true;
object.p1 = false;
object.p2 = false;
object.p3 = false;
object.p4 = false;
我有一个对象穿过一系列线,它使用键和值来跟踪开始移动到哪一组坐标,方法是基本上将所有要移动的线切换为 false,除了它当前正在移动的线到,但是当它到达它时,它会将其变为 false 并将下一个变为 true,因此它开始向它移动。我可以通过复制和粘贴代码并更改数字来做到这一点,但以上是我想要完成的,我尝试做一些寻找答案,但对我想要做的事情没有任何结论。
for(a=0;a<paths.length;a++){
var p = paths[a];
if(a===0 && e.p0){
if(cc(e, p, 1)){e["p" + a] = false; e["p" + a + 1] = true;}
}else if(e["p" + a]){
moveObj1ToObj2Smooth(e, p, 2);
if(cc(e, p, 1)){e["p" + a] = false; e["p" + a + 1] = true;}
}
}
如果我可以通过字符串+变量动态构造键,这会容易得多,这样我就可以运行一个循环,而不必复制/粘贴/编辑 20 多次不同的时间。
感谢任何帮助,谢谢。
【问题讨论】:
-
你觉得你在这里做什么
e["p" + a]?!
标签: javascript arrays object key