【问题标题】:Looping through a JS object and confirming one of it's properties循环遍历一个 JS 对象并确认它的属性之一
【发布时间】:2018-11-29 19:29:30
【问题描述】:

我有一个 javascript 对象

gui: {
    windowTest: {},
    draw: function() { ... }
}

windowTest 稍后会像这样初始化:

windowTest = new Window(x,y,w,h);

和 Window 构造函数...

function Window(x,y,w,h){
    this.m = 0;
    this.x = x;
    this.y = y;
        ...
}

我将如何遍历 gui 对象并测试:

gui[key].m == this.m-1;

在代码的另一部分?

在查看了有关循环 JS 对象的不同问题后,我尝试了这个:

this.m = 5;
for(var key in gui){
    if(!gui.hasOwnProperty(key)){
        if(gui[key].m == this.m-1){
            //something
        }
    }
}

但它什么也没做。我不知道上面的 sn-p 代码到底做了什么,所以我不可能调试它。

【问题讨论】:

  • 删除! ...
  • 删除 !没有帮助。但没关系,我想通了。

标签: javascript object iteration


【解决方案1】:

这行得通:

for(var key in gui){
    if(!gui.hasOwnProperty(key)) continue;
    if(gui[key].m !== undefined) {
        console.log(gui[key].m);
    }
}

遍历对象 gui 中的所有键,然后确定其中一个键是否具有我正在寻找的属性,并打印它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-12-19
    • 2014-01-26
    • 2021-11-20
    • 1970-01-01
    • 2016-09-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多