javascript - 我可以在 Javascript 中通过引用传递列表(或矩阵)列表吗?
问题描述
我正在尝试使用函数 changeGrid() 更改此列表列表的内容。内部的每个字符都应替换为“X”,并且网格应全局更改。是否有可能做到这一点?当变量是一个对象时,我已经看到这样做了,但我不确定如何处理这样的矩阵。谢谢。
var grid = [['T', 'W', 'Y', 'R'],
['E', 'N', 'P', 'H'],
['G', 'Z', 'Qu', 'R'],
['O', 'N', 'T', 'A']];
function changeGrid(table){
table = [
[ 'X', 'X', 'X', 'X' ],
[ 'X', 'X', 'X', 'X' ],
[ 'X', 'X', 'X', 'X' ],
[ 'X', 'X', 'X', 'X' ]
]
return table
}
console.log(grid)
console.log(changeGrid(grid));
console.log(grid);
解决方案
它已经通过引用传递。你需要做一个 forEach (或类似的东西)。以下是一个快速而肮脏的解决方案:
var grid = [['T', 'W', 'Y', 'R'],
['E', 'N', 'P', 'H'],
['G', 'Z', 'Qu', 'R'],
['O', 'N', 'T', 'A']];
function changeGrid(table){
table.forEach((e1, i1) => e1.forEach((e2, i2) => table[i1][i2] = 'X'))
}
console.log(grid)
changeGrid(grid);
console.log(grid);
推荐阅读
- azure-devops - git push hooks 应该如何连接 Azure DevOps 和 App Center?
- python - 没有 YMD 的 Python 日期时间
- javascript - 如何在javascript中将图像(svg)转换为渲染的svg?
- java - NFA/DFA 正则表达式之间的模式差异
- sql - 编写嵌套 SQL 查询
- gnuplot - 在gnuplot中读取赤经/赤纬坐标
- csv - 如何使用 Apache Calcite 对 CSV 文件执行 UPSERT?
- elasticsearch - Confluent 5.4.0 ElasticSearch Sink Connector 中没有连接器类型错误
- c# - 无法找到元数据 DLL VS 2019 Xamarin
- c - Gtk3 - 未解决的包含