group为什么会有空的分组

来源:3-5 卡牌分组-代码演示

aibo

2020-08-31

知道老师后面优化了代码,改变了卡牌组的排序方法,只是先按照视频过思路的话,有一个问题困扰我,还是问一下。
按照老师视频中讲的:
group = arr.sort().join(’’).match(/(\d)\1+|\d/g);
group的源是arr,也就是输入的随机卡牌组;

如果这个arr是一个空数组的话,那么arr.sort() => []; [].join(’’) => ‘’; ‘’.match(regExp g) => null; null的length程序会报错的,所以排除这种情况;

那arr不是空数组的话,group的length什么时候会变成0呢,因为即使是卡牌为同一个整数的多张或一张卡牌也是被分为一组,即[1,1,1]=>‘111’=>[111],那这个group的最小长度也是1啊;

按照这个思路,group的长度实际上是有多少种整数面不一样的卡牌

写回答

1回答

慕粉1926294646

2020-11-07

比如 1 这种情况就是 group 为空,你看 match 里面的正则,要求至少重复一次,也就是 (\d)\1+,\1指的是前面匹配的数字

0
0

JavaScript版 数据结构与算法

填补前端同学的算法短板,掌握面试中最常见的算法与数据结构

2467 学习 · 395 问题

查看课程