动态属性名称串联

Dynamic property name concatenation

本文关键字:属性 动态      更新时间:2024-05-30

我正在寻找一种简单的方法来根据另一个变量的值分配给一个变量。

device.slot2_clipList[clipNumber] = singleClipDetails;

我想做的是:用另一个变量替换"2",这样我就可以在更改var slotNumber,并写入相应的变量。

我试过

device.slot + device.slotNumber + _clipList[clipNumber]

但是(显然?),这行不通。

如何做到这一点?(也许我把这个问题命名错了,但那是我能想到的最接近的问题。)感谢

这就是的括号表示法

var i = 2;
device['slot' + i + '_clipList'][clipNumber] = singleClipDetails;
device['slotNumber' + _clipList[clipNumber] ]

说明:

javascript中的foo.bar(甚至在性能上)与foo['bar']相同。因此,任何对象属性名称都可以从字符串中建立起来。