我有一个(group
)个对象数组。在每个组对象内部,都有一个(item
)个对象的数组。
每个对象(组和项)都包含一个称为show_on_graph
的键
我想移动到每个对象上,以计算将多少show_on_graph
设置为true。
是否存在执行此操作的既定方法,还是只需要创建一种自定义方法来迭代或映射所有内容以计算true
值?
答案 0 :(得分:1)
应该是
const count = toppics.reduce((sum, val) => {
if (val.show_on_graph) {
sum++;
}
return sum;
}, 0);
如果您使用lodash
,_.countBy
应该是您要寻找的人
答案 1 :(得分:0)
您可以通过迭代对象的所有键/值对来采取迭代和递归的方法,然后对找到的对象或嵌套对象进行计数。
function getCount(object, key, value) {
if (!object || typeof object !== 'object') return 0;
return Object
.entries(object)
.reduce((c, [k, v]) => c + (k === key && v === value || getCount(v)), 0);
}
致电
getCount(object, 'show_on_graph', true);