如何根据特定条件动态填充一个二维数组的方法有哪些?

2026-04-29 08:290阅读0评论SEO教程
  • 内容介绍
  • 相关推荐

本文共计680个文字,预计阅读时间需要3分钟。

如何根据特定条件动态填充一个二维数组的方法有哪些?

在JavaScript中,构建支持编程填充逻辑的二维数组可以通过以下步骤实现:

在构建程序化地图(如 32×32 游戏网格)时,静态填充(如全部设为 "✔️")往往不够灵活——我们常需按坐标规则设置地形:例如中心留出 3×3 可通行空白区、边缘设为障碍物、或实现棋盘格/对角线/环形等模式。此时,将 defaultValue 升级为 defaultFunc 是关键解法。

核心思路是:利用 Array.from() 的第二个参数(映射函数)自动接收当前索引。原版 Array.from({ length: n }, () => value) 中的箭头函数不带参数,只能返回固定值;而改用 Array.from({ length: n }, (_, i) => fn(i)) 后,即可将行号 row 和列号 col 透传给自定义逻辑:

function createAndFillTwoDArray({ rows, columns, defaultFunc }) { return Array.from( { length: rows }, (_, row) => Array.from( { length: columns }, (_, col) => defaultFunc(row, col) ) ); }

该函数支持任意基于坐标的判断逻辑。

阅读全文

本文共计680个文字,预计阅读时间需要3分钟。

如何根据特定条件动态填充一个二维数组的方法有哪些?

在JavaScript中,构建支持编程填充逻辑的二维数组可以通过以下步骤实现:

在构建程序化地图(如 32×32 游戏网格)时,静态填充(如全部设为 "✔️")往往不够灵活——我们常需按坐标规则设置地形:例如中心留出 3×3 可通行空白区、边缘设为障碍物、或实现棋盘格/对角线/环形等模式。此时,将 defaultValue 升级为 defaultFunc 是关键解法。

核心思路是:利用 Array.from() 的第二个参数(映射函数)自动接收当前索引。原版 Array.from({ length: n }, () => value) 中的箭头函数不带参数,只能返回固定值;而改用 Array.from({ length: n }, (_, i) => fn(i)) 后,即可将行号 row 和列号 col 透传给自定义逻辑:

function createAndFillTwoDArray({ rows, columns, defaultFunc }) { return Array.from( { length: rows }, (_, row) => Array.from( { length: columns }, (_, col) => defaultFunc(row, col) ) ); }

该函数支持任意基于坐标的判断逻辑。

阅读全文