【发布时间】:2020-08-11 17:56:29
【问题描述】:
我需要确定某个键是否存在于对象数组中。
这是一个示例数组:
arrOfObj = [{
"mainKey1": {
"subKey1": {
"innerKey1": {
"innerMostKey1": {
"key1": "value"
}
}
}
}
}, {
"mainKey2": {
"key2": "value"
}
}, {
"mainKey3": {
"subKey3": {
"key3": "value"
}
}
}
]
我试图这样做,但我得到了错误的输出:
const objKeys = Object.keys(arrOfObj)
console.log('objKeys = ' + JSON.stringify(arrOfObj))
输出是索引号:
objKeys = ["0", "1", "2"]
我想要一个像这样工作的函数:
var isKeyPresent = checkKeyPresenceInArray('mainKey3')
请注意,尽管我只需要检查对象中的最顶层 - 在上面的示例中,这些是主键(mainKey1 等)并且它们的内容是动态的(其他一些内部有深层嵌套的对象并且有些不是这样。
救命!
【问题讨论】:
-
您需要找到单个对象的键,而不是完整的数组,使用某种数组方法遍历数组,然后为每个单独的元素获取键并针对您想要的键进行测试
-
要提取数组中的所有键吗?
-
你得到 0,1,2 因为你传递的是一个数组,而不是一个对象。
标签: javascript arrays node.js json object