我有一个长度为16的数组,我需要获得0到256范围内的所有元素组合。更确切地说,我需要以下数组
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1]
...
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,256]
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0]
...
[256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256]
有一个简单的方法吗?
你可以使用这样的迭代函数:
function next(array, max) {
for (let i = array.length - 1; i >= 0; i--) {
array[i]++
if ((array[i] %= max) !== 0) break
}
return array
}
let array = Array(3).fill(0)
do {
console.log(next(array, 3).join())
} while (array.join('') !== '000')