【发布时间】:2017-04-26 03:19:42
【问题描述】:
我有一个页面生成 3 个带有前缀和数字的对象。
数字每次都会更改,但前缀将始终保留。
看起来像这样:
window.ctx8
window.ctx9
window.ctx10
在我的页面上,我有 3 个列表,每个列表对应于其中 1 个对象,我需要使用
查找该列表中所选项目的值window.["ctx" + ?NUMBER? ].selectedItems
如何通过 window 对象有效地找到这 3 个对象?
编辑:我无法控制这些对象的创建方式,它们是由应用程序创建的。
我尝试过这样的事情:
Object.keys(window).filter(x => _.startsWith(x, "ctx"))
但我不确定如何进一步过滤random number
也许我可以进行长度比较,因为它通常是 0-99 之间的数字。
【问题讨论】:
-
@AndrewLi - 关键是 OP 不知道
NUMBER是什么,只是存在名为"ctx"的属性/变量加上 一些 数字。跨度> -
我会将它放在不同的对象中,因为
window具有其他属性,这可能会使循环中的所需时间更长,但在window之后不应该有.。您可以使用 for in 循环遍历任何对象,只是不要期望结果按照您想要的顺序。 -
@nnnnnn,谢谢,是的,我不知道属性名称,但我知道它以 ctx + "random number" 开头
-
@PHPglue 不幸的是我无法控制应用程序的这方面
-
在实施糟糕的设计之前,我会与上级沟通。
标签: javascript jquery object lodash