将一组对象加在一起

时间:2018-11-26 17:31:37

标签: javascript typescript

我试图将一组对象加在一起,使用reduce,但是我无法正常工作。

const testArray = [ 
    {
        "T1": 1
    },
    {
        "T2": 12
    },
    {
        "T3": 20
    }
]

减少功能

const q = testArray.reduce((count, x) => count + x.P1Count);

结果= 33

2 个答案:

答案 0 :(得分:2)

您可以获取值,也可以减少值。

const
    add = (a, b) => a + b,
    array = [{ "T1": 1 }, { "T2": 12 }, { "T3": 20 }],
    total = array.reduce(
        (s, o) => Object.values(o).reduce(add, s),
        0
    );

console.log(total);

答案 1 :(得分:1)

reduce()函数的第二个参数将是调用reduce的数组的成员。您的情况是 this.categories.subscribe((data) => { this._categories.push(data); // I don't want this part, I want to receive whole array from a parent this.cd.markForCheck(); }) ,其中{ T[i]: ... }

您可以尝试以下方法:

i = 1, 2, 3