如何使用reduce计算对象数组的长度



我有一个简单的函数,我只是想得到这个对象数组的长度。例如,在下面的情况下,我想返回3。我可以使用.length(),但我想用reduce方法探索更多内容。

function getSum(data) {
const totalNum = data.reduce((sum, a) => sum + a.id, 0);
return totalNum
}
console.log(getSum([
{id: 'ddd6929eac', isComplete: true},
{id: 'a1dd9fbd0', isComplete: true},
{id: 'afa8ee064', isComplete: false}
]))

非常感谢:(

data.length的等价物是:

data.reduce(sum => sum + 1, 0);

但我不明白你为什么要这么做,除非你试图排除空白值。

只需添加索引:

const totalNum = data.reduce((sum, a, index) => index+1);

您可以为数组中的每个项添加一个。

function getSum(data) {
return data.reduce((sum, a) => sum + 1, 0);
}
const
data = [{ id: 'ddd6929eac', isComplete: true }, { id: 'a1dd9fbd0', isComplete: true }, { id: 'afa8ee064', isComplete: false }];
console.log(getSum(data));

最新更新