js基础-小案例歌词匹配
歌词匹配
const lyricString = "[00:00.000] 作词 : 许嵩\n[00:01.000] 作曲 : 许嵩\n[00:02.000] 编曲 : 许嵩\n[00:22.240]天空好想下雨\n[00:24.380]我好想住你隔壁\n[00:26.810]傻站在你家楼下\n[00:29.500]抬起头数乌云\n[00:31.160]如果场景里出现一架钢琴\n[00:33.640]我会唱歌给你听\n[00:35.900]哪怕好多盆水往下淋\n[00:41.060]夏天快要过去\n[00:43.340]请你少买冰淇淋\n[00:45.680]天凉就别穿短裙\n[00:47.830]别再那么淘气\n[00:50.060]如果有时不那么开心\n[00:52.470]我愿意将格洛米借给你\n[00:55.020]你其实明白我心意\n[00:58.290]为你唱这首歌没有什么风格\n[01:02.976]它仅仅代表着我想给你快乐\n[01:07.840]为你解冻冰河为你做一只扑火的飞蛾\n[01:12.998]没有什么事情是不值得\n[01:17.489]为你唱这首歌没有什么风格\n[01:21.998]它仅仅代表着我希望你快乐\n[01:26.688]为你辗转反侧为你放弃世界有何不可\n[01:32.328]夏末秋凉里带一点温热有换季的颜色\n[01:41.040]\n[01:57.908]天空好想下雨\n[01:59.378]我好想住你隔壁\n[02:02.296]傻站在你家楼下\n[02:03.846]抬起头数乌云\n[02:06.183]如果场景里出现一架钢琴\n[02:08.875]我会唱歌给你听\n[02:10.974]哪怕好多盆水往下淋\n[02:15.325]夏天快要过去\n[02:18.345]请你少买冰淇淋\n[02:21.484]天凉就别穿短裙\n[02:22.914]别再那么淘气\n[02:25.185]如果有时不那么开心\n[02:27.625]我愿意将格洛米借给你\n[02:30.015]你其实明白我心意\n[02:33.327]为你唱这首歌没有什么风格\n[02:37.976]它仅仅代表着我想给你快乐\n[02:42.835]为你解冻冰河为你做一只扑火的飞蛾\n[02:48.406]没有什么事情是不值得\n[02:52.416]为你唱这首歌没有什么风格\n[02:57.077]它仅仅代表着我希望你快乐\n[03:01.993]为你辗转反侧为你放弃世界有何不可\n[03:07.494]夏末秋凉里带一点温热\n[03:11.536]\n[03:20.924]为你解冻冰河为你做一只扑火的飞蛾\n[03:26.615]没有什么事情是不值得\n[03:30.525]为你唱这首歌没有什么风格\n[03:35.196]它仅仅代表着我希望你快乐\n[03:39.946]为你辗转反侧为你放弃世界有何不可\n[03:45.644]夏末秋凉里带一点温热有换季的颜色\n"const lyricLineStrings = lyricString.split("\n")const lyricLines = []const timePattern = /\[(\d{2}):(\d{2})\.(\d{2,3})\]/for (const lyric of lyricLineStrings) {const timeString = timePattern.exec(lyric)if (!timeString) continueconst time1 = timeString[1] * 60 * 1000const time2 = timeString[2] * 1000const time3 = timeString[3].length === 3 ? timeString[3]*1: timeString[3] * 10console.log(time1, time2, time3)const time = time1 + time2 + time3const content = lyric.replace(timePattern, "").trim()lyricLines.push({time, content})}console.log(lyricLines)
js基础-小案例歌词匹配相关推荐
- 【Node.js学习小案例】DNS域名解析 一
Node.js 百度百科: Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台, 用来方便地搭建快速的 易于扩展的网络应用· Node.js 借助事件驱动, 非阻塞I/ ...
- node.js(node.js+mongoose小案例)_实现简单的注册登录退出
一.前言 通过node.js基本知识对node.js基本知识的一个简单应用 1.注册 2.登录 3.退出 二.基本内容 1.项目结构搭建如图所示 2.这个小案列中用到了art-template子模板以 ...
- [Vue.js] 基础 -- 综合案例 -- 图书管理
综合案例 – 图书管理 补充知识(数组相关API) 变异方法(修改原有数据) push() pop() shift() unshift() splice() sort() reverse() 替换数组 ...
- JS基础-开关灯案例
要达到的效果图展示 初始状态 点击关灯之后变为 再点开灯又变为第一个状态. 整体思路:首先设置初始的状态body的背景色为白色,按钮中的文字为关灯,初始状态默认是开着灯的,然后设置一个初始的flag变 ...
- node.js入门小案例
nodejs 和 Java node.js是运行在服务端的JavaScript.node.js是一个基于chrome JavaScript 运行时建立的一个平台.底层架构 是JavaScript. n ...
- Unity基础小案例---射击小球
此项目有2个页面组成 第一个页面 1.看上图的退出.开始游戏,这2个按钮是Main Camera关联的Menu1脚本文件来实现的-参数(左.上.宽.高) 可以将Menu1脚本文件直接拖拽到Main C ...
- Hibernate基础小案例
写一个简单的hibernate 1.导入jar包 hibernate3.jar核心+require必须引入的(6个)jar包+jba目录jar包+数据驱动包 2.写映射文件 格式:***.hbm.xm ...
- 【前端基础小案例】HTML+CSS实现酷狗音乐热榜效果
- python爬虫基础小案例, scrapy框架,思路和经验你全都有。
目录 一.scrapy介绍 二.爬取步骤 三.代码 1.创建爬虫项目 scrapy startproject 项目名字 注意: 项目名字不能出现中文,也不能以数字开 ...
最新文章
- 二分图匹配匈牙利算法DFS实现
- iphone objective-c内存管理
- 《基于Node.js实现简易聊天室系列之项目前期工作》
- Mybatis: 返回不同实体(对象数组)
- Coprime Conundrum 容斥原理
- Exchange2003配置垃圾邮件实时黑名单RBL
- Eclipse安装插件的几种方式
- 大白菜pe解锁bitlocker_微PE工具箱 v2.1 官方版,最好用的 Win10PE 系统
- 通过Flume简单实现Kafka与Hive对接(Json格式)
- java udp 接收16进制,java udp接收16进制乱码
- python爬虫爬取合肥工业大学校园新闻
- 全新版大学英语综合教程第一册学习笔记(原文及全文翻译)——8 - Fable Of The Lazy Teenager(懒散少年的寓言)
- 骑行318、 2016.7.17
- Linux系统备份系统还原
- 电信运营商的三大数据域——B域,O域,M域
- 【中学教师资格证-教育知识与能力】简答题
- 用队列实现栈(Java)
- Git ssh 下载设置
- 分布式存储基础之kad
- Dom4j的使用(全而好的文章)