老师,直接修改原数组的做法如何呢
来源:3-5 卡牌分组-代码演示

_玲
2019-02-19
export default (arr) => {
arr.sort((a, b) => a - b)
const distLen = []
let min = Number.MAX_SAFE_INTEGER
for (let temp = [arr[0]]; arr.length; ) {
let init = arr[0]
const compare = arr[1]
if (init === compare) {
temp.push(compare)
arr.shift()
} else {
const length = temp.length
if (length < min) {
min = length
}
distLen.push([...temp])
temp = [compare]
arr.shift()
}
}
if (min >= 2 && distLen.every(item => item.length % min === 0)) {
return true
} else {
return false
}
}
这里用arr.shift()
修改了原数组。
写回答
2回答
-
qq_路远风95版_0
2019-02-21
[1,1,1,1,2,2,2,2,2,2]这个测试数据过不了,没考虑最小公倍数
022019-02-24 -
快乐动起来呀
2019-02-20
这个我试试,可以提交到issue区吗,课程更新完之后会优化部分代码,也会把优秀同学的代码分享给大家
012019-02-20
相似问题