首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在javascript中初始化和填充多维数组

在javascript中初始化和填充多维数组
EN

Stack Overflow用户
提问于 2017-08-23 02:45:05
回答 2查看 271关注 0票数 6

我们如何初始化和创建新的多维数组?

假设我想初始化一个4x4的多维数组,并用0填充它

理想情况下,在2D数组中,我们将

let oned_array = new Array(10).fill(0); //将创建大小为10的数组并将其填充为0

我该如何做像[0,0], [0,0]这样的事情呢

代码语言:javascript
运行
复制
let matrix = new Array([]).fill(0); 

我正在尝试解决一些算法问题,这需要我创建一个新的多维数组并遍历它们(孤岛问题等)。

请给我建议。

编辑:

我找到的另一个解决方案是:

Array(2).fill(0).map(_ => Array(2).fill(0));

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-08-23 03:12:52

要获得独立的填充数组,可以使用Array.from并使用映射值映射一个新数组。

代码语言:javascript
运行
复制
var array = Array.from({ length: 4 }, _ => Array.from({ length: 4 }, _ => 4));

array[0][0] = 0;
console.log(array);
代码语言:javascript
运行
复制
.as-console-wrapper { max-height: 100% !important; top: 0; }

票数 3
EN

Stack Overflow用户

发布于 2017-08-23 03:44:09

@尼纳斯霍尔茨的答案要好得多--一如既往--但我在看到答案之前就写完了这篇文章,所以我还是决定把它贴出来。

类似的想法,但没有使用Array.from。它创建一个指定长度的新数组,用0填充它以便它可以被迭代,迭代它以用指定的值填充指定长度的新数组来替换0。

代码语言:javascript
运行
复制
const buildMatrix = (l, h, v) => Array(l).fill(0).map(_ => Array(h).fill(v));
const matrix = buildMatrix(4,4,4);
matrix[0][0] = 0;
console.log(matrix);
代码语言:javascript
运行
复制
.as-console-wrapper { max-height: 100% !important; }

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45824822

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档