我有一个JS对象:
var testObj = new Object();
有一个名为volume1的属性,所以
testObj.volume1
有一个值。我将如何通过使用
的内容来访问该属性testObj.volume + "1"
为了给它更多的上下文,该对象实际上有更多的属性,比如
testObj.volume1, testObj.volume2 and testObj.volume3
我希望使用一些迭代来访问它们。我尝试使用window[]
元素,但没有取得多大成功。
谢谢!
答案 0 :(得分:7)
testObj["volume" + 1]
但你实际上想要一个数组
testObj.volume = [...]
testObj.volume[1] = whatever
答案 1 :(得分:2)
关于主题,这被认为是更好的做法
var testObj = {};
而不是
var testObj = new Object();
答案 2 :(得分:0)
以testObj["volume" + "1"]
;)
符号object.property
和object["property"]
在javascript中几乎相同。
答案 3 :(得分:-1)
您可以使用for
循环进行in
操作。
for(var PropName in testObj) {
var PropValue = testObj[PropName];
....
}
如果您只想要名称以'value'开头的属性,您也可以这样做:
for(var PropName in testObj) {
if (!/^value[0-9]$/.match(PropName))
continue;
var PropValue = testObj[PropName];
....
}
或者,如果'value'之后的数字始终是连续的,你可以使用一个基本的for循环。
for(var I = 0; I <= LastIndex; I++) {
var PropName = "value" + I;
var PropValue = testObj[PropName];
....
}
希望这有帮助。