是否有更好的格式化串行格式的解决方案?

时间:2019-11-12 11:31:01

标签: angular typescript

我有这段代码。我想知道的是,对此是否有更优雅的解决方案。

  /**
   * Formats serial from '86FC64484BE99E78' to '86:FC:64:48:4B:E9:9E:78'
   * @param serial
   */
  private formatSerial(serial: string): string {
    return serial.split('').reduce(
      (prev, curr, index, arr) => {
        let part = prev + curr;
        if ((index % 2 === 1) && (index !== arr.length - 1)) {
          part += ':';
        }
        return part;
      },
      '',
    );
  }

2 个答案:

答案 0 :(得分:1)

尝试下面的代码或查看实时演示https://stackblitz.com/edit/angular-zcb8kw

private formatSerial(serial: string): string {
  return serial.match(/.{1,2}/g).join(':')
}

答案 1 :(得分:1)

您可以使用以下解决方案:

  formatSerial($serial){
      return $serial.match(/.{1,2}/g).join(':');
  }