Причина, по которой у вас запятые между нулями, заключается в том, что у вас есть двумерный массив, а внутренние массивы сериализуются (вызывается их метод toString()
). Когда массивы сериализуются, их элементы разделяются запятыми. Ниже приведен пример, демонстрирующий это:
console.log([1, 2, 3].toString())
// calls toString() behind the scenes
document.body.innerHTML = "serialised value: " + [1, 2, 3]
Чтобы удалить запятые, сопоставьте массив и соедините элементы каждого внутреннего массива пустой строкой. Затем объедините результат этой карты с символами новой строки. Вот так:
const mainArray = [[1,2,3], [4,5,6]]
const text = mainArray
.map(arr => arr.join(""))
.join("\n")
document.body.innerText = text
Полный пример:
function gameloop(){
var mainArray = [];
var mapSizeX = 10;
var mapSizeY = 10;
function nl(){topbody.innerText += "\n";}
function fill2DimensionsmainArrayay(mainArray, mapSizeX, mapSizeY){
for (var i = 0; i < mapSizeX; i++) {
mainArray.push([0])
for (var j = 0; j < mapSizeY; j++) {
mainArray[i][j] = 0;
}
}
}
fill2DimensionsmainArrayay(mainArray, mapSizeX, mapSizeY);
topbody.innerText += mainArray.map(arr => arr.join("")).join("\n");
}
gameloop();
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Hello</title>
</head>
<body>
<section id="topbody"></section>
<script src="main.js"></script>
</body>
</html>