Javascript:遍历未知数量的对象文字

标签 javascript

我有一个以这种方式命名的对象列表:

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/

相关文章:

javascript - 在 JavaScript 中维护特定的窗口层次结构

javascript - 在 React Native 中对应用程序使用 Base64 图像字符串会导致崩溃

javascript - 从父函数访问重写的变量

javascript - 如何在javascript中检测字符串中的希伯来字符

javascript - ESRI ArcGIS Javascript API 关系查询类

javascript - 如何根据 React 中的 typescript 接口(interface)检查 JSON 对象的类型

php - 帮助在 PHP 中使用 JSON 对象?

javascript - 使用管理员在 MongoDB 中不起作用

javascript - 基于滚动位置的动画

javascript - 检查匹配的下一个字符是否匹配