用JavaScript在数组中创建一个具有x-y坐标的对象矩阵

用JavaScript在数组中创建一个具有x-y坐标的对象矩阵,javascript,matrix,Javascript,Matrix,我想用x,y坐标创建一个物体矩阵 例如: var simpleMatrix=[ [{x:0,y:0},{x:0,y:1}], [{x:1,y:0},{x:1,y:1}], ] console.log('simpleMatrix is:',simpleMatrix)您可以将两个数组链接在一起。从开始,从头开始构建嵌套数组: const makeMatrix=(长x,长)=>( Array.from( {length:length},(u,y)=>Array.from( {length:leng

我想用x,y坐标创建一个物体矩阵

例如:

var simpleMatrix=[
[{x:0,y:0},{x:0,y:1}],
[{x:1,y:0},{x:1,y:1}],
]

console.log('simpleMatrix is:',simpleMatrix)
您可以将两个
数组链接在一起。从
开始,从头开始构建嵌套数组:

const makeMatrix=(长x,长)=>(
Array.from(
{length:length},(u,y)=>Array.from(
{length:lengthX},({ux,x)=>({x,y})
)
)
);
log(makeMatrix(2,2));

log(makeMatrix(3,1))
您可以将两个
数组链接在一起。从
s可以从头开始构建嵌套数组:

const makeMatrix=(长x,长)=>(
Array.from(
{length:length},(u,y)=>Array.from(
{length:lengthX},({ux,x)=>({x,y})
)
)
);
log(makeMatrix(2,2));
log(makeMatrix(3,1))
var inputCoord=[];
var矩阵;
函数初始化矩阵(行、列){
var指数=0;
var aMatrix=[];
对于(变量x=0;x
我没有尝试代码,但类似的东西应该可以工作。

var-inputCoord=[];
var矩阵;
函数初始化矩阵(行、列){
var指数=0;
var aMatrix=[];
对于(变量x=0;x

我没有尝试代码,但是类似的东西应该可以工作。

这很好,但是您能解释一下它是如何工作的,以便我们可以从答案中学习吗?:)同意,解释就好了!注意,我切换y和x以使其与我的原始示例匹配:
constmakematrix=(x,y)=>(Array.from({length:x},(x,x)=>Array.from({length:y},(u,y)=>({x,y}));log(makeMatrix(2,2))这很好,但是你能解释一下它是如何工作的,这样我们就可以从答案中学习了吗?:)同意,解释就好了!注意,我切换y和x以使其与我的原始示例匹配:
constmakematrix=(x,y)=>(Array.from({length:x},(x,x)=>Array.from({length:y},(u,y)=>({x,y}));log(makeMatrix(2,2))
var inputCoord = [];
var matrix;

function initMatrix( rows, cols ) {

    var index = 0;
    var aMatrix = [];
    for( var x = 0; x < rows; x++ ) {

        var aRow = [];
        for( var y = index; y < inputCoord.length; y++ ) {

            aCol.push( inputCoord[ y ] );

            if( y == ( cols - 1 ) ) {
                index += cols;
                break;
            }
        }

        aMatrix.push( aRow );

    }

    return aMatrix;

}

inputCoord.push( { x: 0, y: 1 } );
inputCoord.push( { x: 0, y: 1 } );
inputCoord.push( { x: 0, y: 1 } );
inputCoord.push( { x: 0, y: 1 } );
inputCoord.push( { x: 0, y: 1 } );  
inputCoord.push( { x: 0, y: 1 } );

matrix = initMatrix( 2, 3 ); //rows * cols have to always be equal to inputCoord.length