【问题标题】:Javascript: How to fill an array on every possible way?Javascript:如何以各种可能的方式填充数组?
【发布时间】:2018-03-01 18:46:21
【问题描述】:

我有一个长度为 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]

有什么简单的方法吗?

【问题讨论】:

  • 两个嵌套循环?
  • 数组太多了... 257^16?
  • @MinusFour:我知道 ;-) wostex:我不明白它是怎么回事..
  • I know ;-) 哇,你有什么电脑可以处理这个,我想要一台..

标签: javascript arrays combinations


【解决方案1】:

你可以像这样使用迭代函数:

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')

【讨论】:

    猜你喜欢
    • 2020-04-20
    • 1970-01-01
    • 2019-10-06
    • 2023-03-22
    • 1970-01-01
    • 1970-01-01
    • 2016-09-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多