javascript - 从 ES6 生成器创建多维数组

标签 javascript arrays matrix ecmascript-6 generator

这是一个生成普通数组的生成器。创建多维数组的最快方法是什么?

let seq = [...makeSequence(100)];

* makeSequence(max) {
   for (let i = 0; i < max; i++) {
     yield i;
   }
}

最佳答案

如果迭代器应该返回顶级元素(它们本身就是数组),那么您可以使用递归并支持任意深度的数组嵌套:

function * makeSequence(max, dimensionCount = 1) {
   for (let i = 0; i < max; i++) {
     yield dimensionCount <= 1 ? i : [...makeSequence(max, dimensionCount-1)];
   }
}

let seq = [...makeSequence(5, 2)];

console.log(seq);

关于javascript - 从 ES6 生成器创建多维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47125126/

相关文章:

python - 使用 Python 从 XML 解析矩阵

matlab - 从用于多类分类的标签生成向量矩阵(向量化)

javascript - AngularJs - $watch 仅在 Chrome 开发者工具打开时有效

c - 如何使用 LLIST *mylist[N];

python - 在 numpy 数组列表中获取唯一值

ruby - ruby 中的大型矩阵代数计算

javascript - 通过JSON技术扫描

javascript location.href onchange 事件监听器?

javascript - ng-repeat 和 Mmenu 子菜单

java - 如何以不同的方法从数组列表中选择大小写