把后台接口穿过来的歌词数据进行处理

该博客主要介绍了如何将带有时间戳的歌词数据处理成键值对形式,便于歌曲播放时同步显示。通过正则表达式解析每句歌词的时间信息,并存储到对象中,实现了歌词与时间的对应。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

处理效果

适用于把 [00:12.570]难以忘记初次见你 \n 的数据处理

变成 { 整秒 :歌词}

mounted(){
      getSongText(this.id).then(res=>{
        console.log(res);
        // 对歌词进行改变
        // [00:12.570]难以忘记初次见你
        var lyrics   = res.data.lrc.lyric.split('\n')
        var lrcObj={};
        for (var i =0 ;i<lyrics.length;i++){
          var lyric= decodeURIComponent(lyrics[i])
          var timeReg= /\[\d*:\d*((\.|\:)\d*)*\]/g;
          var timeRegExpArr = lyric.match(timeReg);
          if ( !timeRegExpArr)continue;
          var clause = lyric.replace(timeReg,'');
          for(var k=0,h = timeRegExpArr.length;k<h;k++){
            var t = timeRegExpArr[k];
            var min =Number(String(t.match(/\[\d*/i)).slice(1))
            var sec =Number(String(t.match(/\:\d*/i)).slice(1))
            var time = min * 60 +sec;
            lrcObj[time] = clause;
          }
        }
        this.lrcData  = lrcObj;
        console.log(lrcObj);
    })
  }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值