[英]Counting all properties of an object
我基本上需要對標簽“ property1”和“ property2”進行計數,以使結果為4。該對象看起來像這樣:
parent: {
child: {
child2: {
child3: { property1: '', property2: '' }
}
},
2child: {
2child2: {
2child3: { property1: '', property2: '' }
}
}
}
我需要計算指定的屬性,但找不到解決方法。 該對象可以具有許多這樣的子對象以及它們自己的子對象,並且需要計算所有指定的屬性。 我的第一個猜測是需要遞歸。
您確實可以使用遞歸函數。 同樣, Object.keys
和Object.values
方法將非常有用:
function propCount(obj) { return Object(obj) !== obj ? 0 : Object.values(obj).map(propCount) .reduce( (a,b) => a+b, Object.keys(obj).length ); } var obj = {parent: {child: {child2: {child3: { property1: '', property2: '' }}},"2child": {"2child2": {"2child3": { property1: '', property2: '' }}}}}; console.log(propCount(obj));
您可能會遵循以下簡單方案:
Object.keys(...)
您可以使用少於10行代碼的小型函數來完成所有這些步驟。 嘗試一下,讓我知道您是否需要任何幫助! :)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.