我有一个嵌套数组的深度对象,看起来像这样:
{
inspectionReport: {
property: {
structures: [
0: {
finishedSpaces: [
0: levels: [
0: rooms: [
0: //something I want to count
]
]
]
}
]
}
}
}
我想找出所有rooms
数组的总长度。最明显的方式是这样的:
let roomCount = 0;
results['inspectionReport']['property']['structures'].forEach(structure => {
structure['finishedSpaces'].forEach(finishedSpace => {
finishedSpace['levels'].forEach(rooms => {
roomCount += rooms.length;
});
});
});
但这似乎有点丑陋。有没有更好的办法?
1条答案
按热度按时间nimxete21#
您可以使用
sumBy
执行如下操作。您使用forEach提供的解决方案简单易懂。上述解决方案更加简洁和实用。所以由你来决定
此外,您可以研究一种解决方案,将其展平到
levels
阵列并使用sumBy()
,ps:你可能要仔细检查以上代码,我还没有测试过.