我有一個像這樣構造的JavaScript對象;遞歸查找對象上的鍵
brand: {
group: {
subGroup: {
items: []
},
otherSub: {
items: []
}
}
}
鑑於鍵陣列[「品牌」,「基團」,「新聞組」,「newSubGroup」]我要拆分的鍵成發現丟失的鑰匙。所以對於上面的結構,我應該回來;
present = ['brand', 'group']
missing = ['newGroup', 'newSubGroup']
我正在使用ES6,並有lodash可用,但努力找到一個乾淨的方式來產生這個。
這不僅僅是檢查存在,它是遞歸地找到鍵並返回那些存在的和剩餘的。
不是一個重複。我試圖找到最簡潔的方式遞歸地通過對象工作,並將數組分爲找到的鍵和不存在的鍵。 – james2m
也許矯枉過正,但你見過[this object diffing package](https://www.npmjs.com/package/deep-diff)嗎?我之前使用過它,我發現它很有用。 – alexanderbird
另外,如果你正在努力尋找一個乾淨的方式來做到這一點,你可以包括你已經能夠做到的「不乾淨」的方式嗎? – alexanderbird