我有以下对象:
var oBadge = {
COMMENT_CREATED: {
FIRST_COMMENT_CREATED: {
code: "FIRST_COMMENT_CREATED",
src: "",
name: "Socializer",
text: "Create a comment for an idea",
condition: {
today: null,
over_all: 1
}
}
}
};
我需要检查我得到的字符串(例如“FIRST_COMMENT_CREATED”)是否包含在 oBadge 模型中。 该对象包含更多元素 - 不仅仅是 comment_created 元素。因此我无法定义在那里检查它。
我找到了以下函数来确定该元素是否包含在对象内,但我还需要包含的数据,而不仅仅是声明是否包含它。
oBadge.hasOwnProperty("FIRST_COMMENT_CREATED")
我基本上寻找的是一种跳过支票上第二个层次结构级别的方法 - 例如:
if(oBadge.[<all>]["FIRST_COMMENT_CREATED"] !== undefined) {
// return data
}
最佳答案
如果不循环对象,就无法跳过层次结构,您应该使用 for...in 循环:
for (var prop in oBadge) {
if(oBadge[prop].hasOwnProperty("FIRST_COMMENT_CREATED")) {
// return data
}
}
关于javascript - 获取对象中元素的路径,而不循环遍历所有元素(第二层次结构级别未知),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29698779/