我有一个以这种方式命名的对象列表:
var p1 = {};
var p2 = {};
p1.name = "john";
p1.hobby = "collects stamps";
p2.name = "jane";
p2.hobby = "collects antiques";
我知道如何遍历 p1 和 p2 来收集属性,前提是我知道这些 p 对象字面量有多少。这是我的问题,我并不总是知道这些 p 对象文字中会有多少。有时会上升到 p2,有时会上升到 p20。
如果我知道它们都共享相同的前缀,有没有办法循环遍历对象?
编辑:我无法更改获取对象列表的方式。它以那种格式提供给我...
最佳答案
如果我们做出如下假设:
- 对象是全局的
- 数字后缀是有顺序的
...然后执行以下操作:
for (var i = 1; window["p" + i] !== undefined; i++) {
console.log(window["p" + i]); // loop over each object here
}
关于Javascript:遍历未知数量的对象文字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9116071/