计算数组对象中的数组项(组合计数)

Ben*_*rey 3 javascript ecmascript-2017

考虑以下对象:

const test = {
    foo: ['foo', 'bar', 'foobar'],
    bar: ['foo', 'bar', 'foobar']
    foobar: ['foo', 'bar', 'foobar']
};
Run Code Online (Sandbox Code Playgroud)

如何获得上述对象中每个数组中所有项目的组合计数?

我知道我可以按照以下方式做一些事情:

let count = 0;

Object.values(test).forEach(value => count += value.length);

console.log(count) // Expected result: 9
Run Code Online (Sandbox Code Playgroud)

我正在寻找一种更简单(更干净,希望是单行)的方式来实现这一目标......

Nin*_*olz 9

只需获取平面值的长度。

const test = {
    foo: ['foo', 'bar', 'foobar'],
    bar: ['foo', 'bar', 'foobar'],
    foobar: ['foo', 'bar', 'foobar']
};

let count = Object.values(test).flat().length;

console.log(count);
Run Code Online (Sandbox Code Playgroud)