4
的陣列的總結我有餘額(也有在對象的其他屬性,但不導入例如)對象的列表:角2管 - 計算對象
[{ balance : 100 },{ balance : 200 },{ balance : null },{ balance : 300 }]
我找的智能管道,將總結(其他平均值)的餘額(不希望使用for循環 - 但一些ES6功能像減少但不知道如何)
的陣列的總結我有餘額(也有在對象的其他屬性,但不導入例如)對象的列表:角2管 - 計算對象
[{ balance : 100 },{ balance : 200 },{ balance : null },{ balance : 300 }]
我找的智能管道,將總結(其他平均值)的餘額(不希望使用for循環 - 但一些ES6功能像減少但不知道如何)
您將需要編寫自己的管道,下面應該給你後面的內容。這需要你想總結作爲參數
總和
import { Pipe, PipeTransform } from '@angular/core';
@Pipe({
name: 'sum'
})
export class SumPipe implements PipeTransform {
transform(items: any[], attr: string): any {
return items.reduce((a, b) => a + b[attr], 0);
}
}
使用它的對象的屬性,你會如何任何其他管
<span>{{ balances | sum:'balances' }}</span>
平均
對於平均管道,只需使用與總管道相似的邏輯即可。這將null
視爲0.
transform(items: any, attr: string): any {
let sum = items.reduce((a, b) => a + b[attr], 0);
return sum/items.length;
}
您的代碼將返回'NaN'。 –
你確定,適合我 –
是的,它現在有效。:) –