[英]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.