Angular Typescript将数组从字符串转换为货币和百分比

时间:2019-03-06 19:28:56

标签: angular typescript

我已经搜寻了几个小时,以找出最简单的方法来将所有内容转换为字符串数组,如下所示

[123.23, 234.12, 23.23] // string to currency
[1.2, 3.4, 2.2] // string to percentage

我像下面那样阅读打字稿中的Pipe

import { CurrencyPipe, DatePipe , PercentPipe,   formatCurrency} from '@angular/common'

我正在寻找替代遍历每个数组元素的方法,如下所示

for(var i=0; i<myArray.length; i++) { myArray[i] = this.percentPipe.Transform(myArray[i]); }

我希望将数组数据更改为货币和百分比,并将转换后的数据加载到UI。我无法在html模型中使用管道。我必须在打字稿中做。

我正在寻找一种更好的转换方法。

谢谢

1 个答案:

答案 0 :(得分:1)

您可以将迭代包装在另一个管道中:

@Pipe({name: 'arrayConverter'})
export class YourCustomPipe implements PipeTransform {

  constructor(anyConverterPipe: ConverterPipe){}

  transform(values: number[]): number {
    const convertedValues = [];

    values.forEach(value => convertedValues.push(this.anyConverterPipe.transform(value)));

    return convertedValues;
  }
}

然后随便使用它。