gpt4 book ai didi

javascript - 有没有一种简单的方法来判断 json 对象是否包含属性?

转载 作者:行者123 更新时间:2023-11-30 12:15:34 25 4
gpt4 key购买 nike

我想知道某个属性是否存在于 json 树中,无论深度如何。

isPropertyExists(@JSON@,@property name@)//返回 [@is exists@,@property value@,@property path@]

例子:

var jsonObj={
lvl1a:{
lvl2a:{lvl3:"some value"},
lvl2b:{lvl3a:"some value",
lvl3b:"some value"}
},
lvl1b:{
lvl2aa:"some value",
lvl2bb:{target1:"some value"}
}
}
isPropertyExists(jsonObj,'lvl1a') // returns [true,jsonObj.lvl1a,'jsonObj.lvl1a']
isPropertyExists(jsonObj,'target1') // returns [true,jsonObj.lvl1b.lvl2bb.target1,'jsonObj.lvl1b.lvl2bb.target1']
isPropertyExists(jsonObj,'target2') // returns false

最佳答案

没有路径的解决方案:

function hasProp(obj, prop) {
Object.keys(obj).forEach(function (key) {
if (key === prop) {
return [true, obj[key]];
} else if (typeof obj[key] === 'object') {
hasProp(obj[key], prop);
} else {
return false;
}
});
};

关于javascript - 有没有一种简单的方法来判断 json 对象是否包含属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32524209/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com