![](/img/trans.png)
[英]Create an array of arrays, in which every array has 10 random numbers
[英]How to create an Array which contains unduplicated and not random numbers?
我想在JavaScript中创建一个方法,它可以使用Tree结构生成包含非随机和非重复数字的数组。
假设这个方法名为permutation()
,我只是简单地使用
permutation(3)
我会得到一个可以迭代的数组,每个都是
012 021 120 102 201 210
如果我将数字3更改为5,它将生成一个数组
012345 012354 etc...
然后我发现我可以使用树结构来构建这种类型的数组:
root: 0 1 2
↓ ↓ ↓ ↓ ↓ ↓
depth1: 1 2 0 2 1 0
↓ ↓ ↓ ↓ ↓ ↓
depth2: 2 1 1 0 0 1
然后我只是遍历所有节点以获得结果。
数量增加时也是如此
root: 0 1 2 3 4 5 6....
↓ ↓ ↓ ↓ ↓ ↓
depth1: 1 2 3 4 5 6
etc....
问题是我不知道如何在JavaScript中构建这样的树? 我不知道这些问题的名称是什么。
您可以获取数组并为每个剩余项目获取子树。
function createTree(array) { return array.map((v, i, a) => array.length === 1 ? [v] : [v, createTree([...a.slice(0, i), ...a.slice(i + 1)])] ); } var result = createTree([0, 1, 2]); console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.