定制解构模式

Log*_*gar 0 javascript ecmascript-6

我有一个由一串格式表示的时间值,'hhmmss'并希望为每个小时,分钟和秒分配一个变量.

我试图找到一个解决方案,我可以做一些整洁的事情,比如

let [h, m, s] = '083000';
Run Code Online (Sandbox Code Playgroud)

现在,我的工作解决方案有点冗长:

const str = '083000';
let [h, m, s] = [str.slice(0, 2), str.slice(2, 4), str.slice(4, 6)];
Run Code Online (Sandbox Code Playgroud)

有没有办法更接近第一个片段?

dec*_*eze 7

您可以使用正则表达式将字符串"块"化为两个字符串的数组:

const str = '083000';
let [h, m, s] = str.match(/../g);
Run Code Online (Sandbox Code Playgroud)