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

Posted

技术标签:

【中文标题】格式化串行有更好的解决方案吗?【英文标题】:Is there a better solution for formatting serial? 【发布时间】:2020-03-08 02:41:45 【问题描述】:

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

  /**
   * 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;
      ,
      '',
    );
  

【问题讨论】:

function splitby($text) return $text.match(/.1,2/g).join(':'); 【参考方案1】:

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

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

【讨论】:

【参考方案2】:

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

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

【讨论】:

以上是关于格式化串行有更好的解决方案吗?的主要内容,如果未能解决你的问题,请参考以下文章

这种三元条件有更好的解决方案吗?

BLoC 和多个流 - 有更好的解决方案吗?

使用 numpy 数组进行代码优化。有更好的解决方案吗?

使用 JavaScript 和 Google Gears 处理文件上传,有更好的解决方案吗?

Laravel 5 和 Laravel 5.1 “找不到类‘模型名称’”,有更好的解决方案吗?

串行与 SPI