蜗牛矩阵数组javascript

蜗牛矩阵数组javascript,javascript,arrays,matrix,Javascript,Arrays,Matrix,我在找一个函数来做这个 test(3); #result 3333333 3222223 3211123 3210123 3211123 3222223 3333333 test(1) #result 111 101 111 我尝试的是这个,但我可以在中找到i和n之间的任何关系 每个循环。你能给我看看算法吗 function test(n) { return Array.from({ length: (n * 2) + 1 }, () => { re

我在找一个函数来做这个

test(3);
#result
3333333
3222223
3211123
3210123
3211123
3222223
3333333

test(1)
#result
111
101
111
我尝试的是这个,但我可以在中找到i和n之间的任何关系 每个循环。你能给我看看算法吗

    function test(n) {
      return Array.from({ length: (n * 2) + 1 }, () => {
        return Array.from({ length: (n * 2) + 1 }, (item, i) => {
          return i;
        })
      });
    }

    test(3)
结果:

[ [ 0, 1, 2, 3, 4, 5, 6 ],
  [ 0, 1, 2, 3, 4, 5, 6 ],
  [ 0, 1, 2, 3, 4, 5, 6 ],
  [ 0, 1, 2, 3, 4, 5, 6 ],
  [ 0, 1, 2, 3, 4, 5, 6 ],
  [ 0, 1, 2, 3, 4, 5, 6 ],
  [ 0, 1, 2, 3, 4, 5, 6 ] ]

你离这项工作还不到一百万英里

您可以捕获外部数组索引(y)和内部数组索引(x),。 通过这两个值,您可以计算出x,y单元格中的内容

例如

功能测试(n){
返回数组。from({length:(n*2)+1},(\ux,y)=>{
返回数组。from({length:(n*2)+1},(\ux)=>{
返回Math.max(
x>n?x-n:n-x,
y>n?y-n:n-y
);
})
});
}
常数ret=试验(3);
ret.forEach((i)=>{
console.log(i.join(“”);

});“snail matrix javascript”作为web搜索词可能会对您有所帮助。无法!因为它有一些不同,然后告诉我们如何和为什么。展示你的研究,这样我们就不必做那么多的假设。