Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 给定一个序列中的对象数组,如何生成7x7的网格?_Javascript_Arrays - Fatal编程技术网

Javascript 给定一个序列中的对象数组,如何生成7x7的网格?

Javascript 给定一个序列中的对象数组,如何生成7x7的网格?,javascript,arrays,Javascript,Arrays,我有一组像这样的对象 var卡=[ {名称:'square',颜色:'red'}, {名称:'triangle',颜色:'black'}, {名称:'circle',颜色:'blue'}, {名称:'oval',颜色:'yellow'}, {名称:'Pentagan',颜色:'green'} ] 我想根据上面的形状以水平顺序生成一个7x7的网格,并显示每个网格的名称,因为数组只有5个对象,我想在第5个元素之后,再次从第一个对象开始,这样说 正方形|三角形|圆形|椭圆形|五角大楼|正方形|三角形

我有一组像这样的对象

var卡=[
{名称:'square',颜色:'red'},
{名称:'triangle',颜色:'black'},
{名称:'circle',颜色:'blue'},
{名称:'oval',颜色:'yellow'},
{名称:'Pentagan',颜色:'green'}
]
我想根据上面的形状以水平顺序生成一个7x7的网格,并显示每个网格的名称,因为数组只有5个对象,我想在第5个元素之后,再次从第一个对象开始,这样说

正方形|三角形|圆形|椭圆形|五角大楼|正方形|三角形
圆形|椭圆形|五边形|正方形|三角形|圆形|椭圆形
五边形|正方形|三角形|圆形|椭圆形|五边形|正方形
三角形|圆|椭圆形|五边形|正方形|三角形|圆
椭圆形|五角大楼|正方形|三角形|圆形|椭圆形|五角大楼
正方形|三角形|圆形|椭圆形|五角大楼|正方形|三角形
圆形|椭圆形|五边形|正方形|三角形|圆形|椭圆形
使用
可以按照下面的示例进行操作。阵列中的偏移量通过以下公式计算:

((i * 7 ) + j) % 5
我改变了你的颜色,使输出更可读

var卡=[
{名称:'square',颜色:'pink'},
{名称:'triangle',颜色:'lightgrey'},
{名称:'circle',颜色:'lightblue'},
{名称:'oval',颜色:'yellow'},
{名称:'Pentagan',颜色:'lightgreen'}
];
var table=document.getElementById('grid');
对于(var i=0;i使用
可以根据以下示例执行。数组中的偏移量通过以下公式计算:

((i * 7 ) + j) % 5
我改变了你的颜色,使输出更可读

var卡=[
{名称:'square',颜色:'pink'},
{名称:'triangle',颜色:'lightgrey'},
{名称:'circle',颜色:'lightblue'},
{名称:'oval',颜色:'yellow'},
{名称:'Pentagan',颜色:'lightgreen'}
];
var table=document.getElementById('grid');
对于(var i=0;i模或,可以考虑:

var卡=[
{名称:'square',颜色:'pink'},
{名称:'triangle',颜色:'lightgrey'},
{名称:'circle',颜色:'lightblue'},
{名称:'oval',颜色:'yellow'},
{名称:'Pentagan',颜色:'lightgreen'}
];
函数生成器(网格、行、列){
var行;
变量单元格=行*列;
对于(变量i=0;i

模或可以处理以下问题:

var卡=[
{名称:'square',颜色:'pink'},
{名称:'triangle',颜色:'lightgrey'},
{名称:'circle',颜色:'lightblue'},
{名称:'oval',颜色:'yellow'},
{名称:'Pentagan',颜色:'lightgreen'}
];
函数生成器(网格、行、列){
var行;
变量单元格=行*列;
对于(变量i=0;i


您需要一个嵌套的for循环…和模
%
operator@JaromandaX不需要嵌套循环,尽管它使作业更容易进行二维“输出”我不认为单循环比嵌套循环更可取、更好或更容易阅读——如果你想写糟糕的代码,就不需要任何循环。尽管现在问题中的输入和预期输出都发生了变化,我可以看出单循环实际上是首选解决方案:你需要一个嵌套的for循环……以及模<代码>%
operator@JaromandaX不需要嵌套循环,尽管它使作业更容易进行二维“输出”我不认为单循环比嵌套循环更可取、更好或更容易阅读——如果你想写糟糕的代码,就不需要任何循环。尽管现在问题中的输入和预期输出已经改变,我可以看出单循环实际上是首选解决方案:p