javascript - 创建和填充 3D 数组 JavaScript
问题描述
我正在尝试用“rgb(255, 48, 144)”填充一个 3d 数组 (16x16x16),然后通过在数组 ( arr[15][3][9] ) 中找到这种颜色来绘制一个矩形。
这是我到目前为止所得到的:
var ctx = document.getElementById("canvas").getContext("2d");
var canvas = document.getElementById("canvas");
var arr = new Array(16)
for(var i = 0; i < arr.length; i++){
arr[i] = new Array(16);
for(var j = 0; j < arr[i].length; j++){
arr[i][j] = "rgb(255, 48, 144)";
for(var k = 0; k < arr[i][j].length; k++){
arr[i][j][k] = "rgb(255, 48, 144)";
}
}
}
ctx.fillstyle = arr[15][3][9];
ctx.fillRect(0, 0, 100, 100);
<!doctype HTML>
<html>
<head>
<meta charset="UTF-8">
<title> Fargekube </title>
</head>
<body>
<canvas id="canvas" width="200" height="200"></canvas>
</body>
</html>
解决方案
我认为你初始化你的 3 维数组不适。以下是您想要做的吗?
此外,它是fillStyle
和不是fillstyle
var ctx = document.getElementById('canvas').getContext('2d');
var canvas = document.getElementById('canvas');
var dimensionSize = 16;
var arr = [];
for (var i = 0; i < dimensionSize; i += 1) {
arr[i] = [];
for (var j = 0; j < dimensionSize; j += 1) {
arr[i][j] = [];
for (var k = 0; k < dimensionSize; k += 1) {
arr[i][j][k] = 'rgb(255, 48, 144)';
}
}
}
console.log(arr[15][3][9]);
ctx.fillStyle = arr[15][3][9];
ctx.fillRect(0, 0, 100, 100);
<!doctype HTML>
<html>
<head>
<meta charset="UTF-8">
<title> Fargekube </title>
</head>
<body>
<canvas id="canvas" width="200" height="200"></canvas>
</body>
</html>
推荐阅读
- reactjs - 如何清除 Redux 中一个对象的值,而不清除其他对象的值?
- arrays - 如何在 Excel 中对数组数据集进行排序?
- javascript - 如何从列表 Javascript 中获取价值
- android - ListView 给了我一个空白页
- c++ - 使用未声明的标识符从 C/C++ 代码中获取 Clang AST
- node.js - 如何在内存中的 Node.js 中使用 base64 编码的 sqlite 数据库而不将其存储到磁盘?
- javascript - 当对象可以具有不同类型时如何按键对对象数组进行分组
- training-data - 如何在项目中使用训练来选择图像中的对象?
- django - 如何从 django Web 应用服务中获取登录用户的广告?
- python - 对非无“迟到”变量的 Python 类型支持