javascript - 按键检索嵌套对象

标签 javascript object search nested return

通过以下对象中的键 (itemID) 检索嵌套对象的最有效方法是什么(考虑到性能,假设对象可能很大)?

显然,我可以通过首先引用每个父项 (searchResults.page2.item3) 来访问该对象,但是假设我不知道它在哪个页面上,我如何仅使用 itemID 从 searchResults 中检索 item3?

var searchResults = {

    page1 : {

        item1 : {},
        item2 : {}      

    },

    page2 : {

        item3 : {},
        item4 : {}  
    }

}

最佳答案

简单地遍历你的对象。这是一个可行的解决方案。希望对您有所帮助!

var searchResults = {
        page1 : {

            item1 : {},
            item2 : {}

        },
        page2 : {

            item3 : { id: 3},
            item4 : {}
        }
    }

    for(var i in searchResults){
        var pageNumber = searchResults[i];
        for(var j in pageNumber){
        var deeperProperty = pageNumber[j];
            if(deeperProperty.hasOwnProperty("id") && deeperProperty.id === 3){
                console.log(deeperProperty);
            }
        }
    }

关于javascript - 按键检索嵌套对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43688562/

相关文章:

python - 我应该如何在 App Engine 上进行全文搜索?

javascript - AngularJS:服务错误,服务未定义。我究竟做错了什么?

javascript - 通过类外函数(或替代方法)操纵状态

javascript - AngularJs 路线 - 当我进入另一个状态后滚动不会改变

javascript - 如何在 JavaScript 中为私有(private)变量使用与函数参数相同的名称? (让代码看起来更好)

javascript - 使用变量作为对象和函数

algorithm - 在 O(nlog(n)) 中查找 "maximum"重叠区间对

Javascript,在传递函数参数时保留此引用

c++ - "sizeof"一个类或对象可以为零吗?

c# - 匹配两个列表