# ❓ 数组编程题
随机生成一个长度为 10 的整数类型的数组,例如
[2, 10, 3, 4, 5, 11, 10, 11, 20]
,将其排列成一个新数组,要求新数组形式如下,例如[[2, 3, 4, 5], [10, 11], [20]]
。
let arr = []
// 随机生成
for (let index = 0; index < 10; index++) {
arr.push(Math.floor(Math.random() * 100))
}
// 排序去重
arr = Array.from(new Set(arr)).sort((a, b) => a - b)
// 分类
let obj = {}
arr.forEach((item) => {
const _ = Math.floor(item / 10)
console.log(_)
if (!obj[_]) obj[_] = []
obj[_].push(item)
})
let resArr = []
for (const key in obj) if (obj.hasOwnProperty(key)) resArr.push(obj[key])
console.log(resArr)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24