Ben nodejs projedizesi çok ikinci dize arg yerine concat, olası ES6 sorunu
const XPOSITIONS = [{
"name": 'a',
"index": 0
},
{
"name": 'b',
"index": 1
},
{
"name": 'c',
"index": 2
},
{
"name": 'd',
"index": 3
},
{
"name": 'e',
"index": 4
},
{
"name": 'f',
"index": 5
},
{
"name": 'g',
"index": 6
},
{
"name": 'h',
"index": 7
}
];
const YPOSITIONS = [{
"name": '1',
"index": 1
},
{
"name": '2',
"index": 2
},
{
"name": '3',
"index": 3
},
{
"name": '4',
"index": 4
},
{
"name": '5',
"index": 5
},
{
"name": '6',
"index": 6
},
{
"name": '7',
"index": 7
},
{
"name": '8',
"index": 8
}
];
function makeboard() {
"use strict";
var boardArray = Array(...Array(...XPOSITIONS)).map(() => Array(...YPOSITIONS));
XPOSITIONS.forEach(function(x, xindex, xarray) {
// console.log("x" + xindex);
YPOSITIONS.forEach(function(y, yindex, yarray) {
// console.log("y" + yindex);
// console.log("x check" + xindex, x.index);
boardArray[xindex][yindex].name = x.name.concat(y.name);
console.log("xindex " + xindex, "yindex " + yindex, "xname " + x.name, "yname " + y.name, boardArray[xindex][yindex].name);
boardArray[xindex][yindex].xindex = x.index;
boardArray[xindex][yindex].yindex = y.index;
});
// console.log(boardArray);
});
return boardArray;
}
var board = makeboard();
için ES6 bir satranç tahtası oluşturmak için kod yazıyorum. Ben Sonra onun adı bu 2d dizideki her kareyi atamak deneyin bir 8X8 2d dizisi
var boardArray = Array(...Array(...XPOSITIONS)).map(() => Array(...YPOSITIONS));
oluşturmalarını eşlenen bu
const XPOSITIONS = [{
"name": 'a',
"index": 0
},...
const YPOSITIONS = [{
"name": '1',
"index": 1
},...
gibi kenarları adı için const (sabitleri) sahip böylece kare adını yaptığı gibi her tahta kare isim atama y.name
de değişir sonra forEach döngüde
XPOSITIONS.forEach(function(x, xindex, xarray) {
YPOSITIONS.forEach(function(y, yindex, yarray) {
boardArray[xindex][yindex].name = x.name.concat(y.name);
});
Ama sorun
yname a1
yname a2
yname a3
yname a4
yname a5
yname a6
yname a7
yname a8
yname ba1
yname ba2
yname ba3
yname ba4
yname ba5
yname ba6
yname ba7
yname ba8
yname cba1
yname cba2
yname cba3
yname cba4
yname cba5
yname cba6
yname cba7
yname cba8
yname dcba1
yname dcba2
yname dcba3
yname dcba4
yname dcba5
yname dcba6
yname dcba7
yname dcba8
yname edcba1...
Sorun ne olabilir, yoksa ne yapıyorum? Lütfen es6 için yeni olduğum ve javascript ile çok büyük olmamasına yardım edin. geliştirici konsolunda
bakınız kod parçacığı
Burada bazı genel yanlış anlama/aşırı özellik var gibi görünüyor; örnek; const const XPOSITIONS = 'abcdefgh'.split (' '); 'ilk 16 satır kodunuzun yerini alır ve eşit gösterim içerir. 'YPOSITIONS' daha da basit. Ayrıca, 2 boyutlu bir dizinin 2 boyutlu bir satranç tahtası için tek veri soyutlaması olduğunu düşünerek kendinizi delirtmeyin. Bu sorunu çözmek için birçok alternatif yol var. – naomik