gpt4 book ai didi

javascript - 如何在 multiArray 中定义值

转载 作者:行者123 更新时间:2023-11-28 06:46:24 26 4
gpt4 key购买 nike

这是我的第一个问题,我会尽力澄清。

我需要为位置分配一个值。我有一个 7 行的二维数组(例如)。根据别人给我的值(value),我必须改变值(value)立场。

示例如果有人给我:3。我必须将这 3 个按以下顺序排列。

1 * * * * * * * * * 
2 * * * * * * * * *
3 * * * * * * * * O
4 * * * * * * * * O
5 * * * * * * * * O
6 * * * * * * * * *
7 * * * * * * * * *

如果有人给我:2

1 * * * * * * * * * 
2 * * * * * * * * *
3 * * * * * * * * O
4 * * * * * * * * O
5 * * * * * * * * *
6 * * * * * * * * *
7 * * * * * * * * *

我在数组的“中间”定义了一些起点。这些我做的还可以。起点在中间。 S = 起点

1    * * * * * * * * * 
2 * * * * * * * * *
3 * * * * * * * * *
4 S * * * * * * * *
5 * * * * * * * * *
6 * * * * * * * * *
7 * * * * * * * * *

问题是当我必须将“0”放在数组的最后时,因为“0”的数量是可变的并且必须居中我有这些代码:

var height = 7;
var width = 9;
var exit = 3; // or can be 2, or 4, 5 etc.

var matrix = new Array(height);
for (var i=0; i<height; i++) {
matrix[i] = new Array(width);
for (var j = 0; j<width; j++) {
matrix[i][j] = *;
}
}

function startPoint(height, matrix){
// Se define el punto de partida
var startPoint = Math.round(height/2) -1;
document.write("el punto de partida es: "+startPoint)
matrix[startPoint][0] = 'S';
return matrix
}

function finishPoint(exit, matrix){
// punto de salida.

return matrix
}

我正在学习 JavaScript,我发现了一个无法解决的问题。我正在尝试,但我没有一个清晰的想法。

最佳答案

您只需找到中心(高度/2)并减去“导出”高度的一半。因此,如果导出高度为 4,则一侧应为 2,另一侧应为 2,因此您需要从中心减去 2。

var height = 7;
var width = 9;
var exit = 3; // or can be 2, or 4, 5 etc.

var matrix = new Array(height);
for (var i=0; i<height; i++) {
matrix[i] = new Array(width);
for (var j = 0; j<width; j++) {
matrix[i][j] = '*';
}
}

function startPoint(height, matrix){
// Se define el punto de partida
var startPoint = Math.round(height/2)-1 ;
document.body.innerHTML+=("el punto de partida es: "+startPoint+'<br>')
matrix[startPoint][0] = 'S';
return matrix
}

function finishPoint(exit, matrix){
// punto de salida.
var startPoint=Math.round(height/2-(exit/2))
for(var i=0;i<exit;i++)
matrix[startPoint+i][width-1]='0'
return matrix
}

matrix=startPoint(height,matrix)
matrix=finishPoint(exit,matrix)

for(var i=0;i<height;i++){
for(var j=0;j<width;j++)
document.body.innerHTML+=matrix[i][j]
document.body.innerHTML+='<br>'
}

document.body.innerHTML+='la salida es de altura: '+exit+ ' entonces buscamos el centro ('+(height/2)+') y restamos mitad de la altura ('+exit/2+')'

关于javascript - 如何在 multiArray 中定义值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33384119/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com