编程语言
首页 > 编程语言> > JavaScript仅返回包含特殊属性的父对象

JavaScript仅返回包含特殊属性的父对象

作者:互联网

假设我有一个如下对象:

var Obj = {
             a: {
                   name: 'X',
                   age: 'Y',
                   other: {
                             job: 'P',
                             location: {
                                          lat: XX.XXXX,
                                          lng: YY.YYYYY,
                                          .........
                                       }
                          }
                }
          };

我的目标:我需要一种方法来检查键的存在并返回其直接父对象以进行任何嵌套级别.

示例如果我搜索lat,则该方法将返回位置对象,如果我搜索作业,则将返回其他对象,依此类推.

请帮忙.
谢谢….

解决方法:

尝试这个:

function findObjectWithProperty(obj, term){
    if (typeof obj == 'object'
        && Object.prototype.toString.call(obj) !== '[object Array]'){
        for(var prop in obj){
            if (obj.hasOwnProperty(prop)){
                if (prop==term)
                    return obj;
                var result = findObjectWithProperty(obj[prop], term);
                if (result != null)
                    return result;
            }
        }
    }
    return null;
}

采用:

var location = findObjectWithProperty(Obj, 'lat');
var other = findObjectWithProperty(Obj, 'job');

标签:javascript-objects,javascript,jquery
来源: https://codeday.me/bug/20191101/1983647.html