分形数组语法

Fractal Array Syntax

本文关键字:语法 数组 分形      更新时间:2023-09-26

我有一个数组,每个数组中有4个值和6个数组,如下所示-

[0,0,0,0,[],[],]],[],[[]]

在每个数组中,我都放置了一个创建这个对象的副本-

[0,0,0,0,[[0,0,0,0,[],[],]]

我重复了这个过程,针对每个数组

而且不止一次。

因此,总共1[i]+6[i][i]+36[i][i][i]+216[i][i][i]+1296[i][i][i][i]

我的阵列正在做我想要的事情,是的,它工作得很好,性能或任何事情都没有问题但是!!!它看起来像这样--

var Pl = [0,0,0,0,[0,0,0,0,[0,0,0,0,[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]]],
                              [0,0,0,0,[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]]],
                              [0,0,0,0,[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]]],
                              [0,0,0,0,[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]]],
                              [0,0,0,0,[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]]],
                              [0,0,0,0,[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]]]],
                     [0,0,0,0,[0,0,0,0,[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]]],
                              [0,0,0,0,[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]]],
                              [0,0,0,0,[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]]],
                              [0,0,0,0,[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]]],
                              [0,0,0,0,[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]]],
                              [0,0,0,0,[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]]]],
                     [0,0,0,0,[0,0,0,0,[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]]],
                              [0,0,0,0,[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]]],
                              [0,0,0,0,[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]]],
                              [0,0,0,0,[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]]],
                              [0,0,0,0,[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]]],
                              [0,0,0,0,[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]]]],
                     [0,0,0,0,[0,0,0,0,[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]]],
                              [0,0,0,0,[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]]],
                              [0,0,0,0,[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]]],
                              [0,0,0,0,[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]]],
                              [0,0,0,0,[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]]],
                              [0,0,0,0,[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]]]],
                     [0,0,0,0,[0,0,0,0,[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]]],
                              [0,0,0,0,[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]]],
                              [0,0,0,0,[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]]],
                              [0,0,0,0,[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]]],
                              [0,0,0,0,[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]]],
                              [0,0,0,0,[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]]]],
                     [0,0,0,0,[0,0,0,0,[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]]],
                              [0,0,0,0,[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]]],
                              [0,0,0,0,[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]]],
                              [0,0,0,0,[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]]],
                              [0,0,0,0,[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]]],
                              [0,0,0,0,[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]],[0,0,0,0,[],[],[],[],[],[]]]]];

我能把分配得更小吗?,以及维护在每个数组(全部1500个)上存储"对象值"的能力。用脚本缩小它会降低效率吗?

谢谢!

您可以制作这样的递归函数。

function createArrayWithDepth(depth) {
  if(depth == 0)
    return [];
  else {
    var subArray = createArrayWithDepth(depth - 1);
    return [0, 0, 0, 0, subArray, subArray, subArray, subArray, subArray, subArray];
  }
}
var array = createArrayWithDepth(3);
console.log(array);

使用递归构建分形数组

// pattern
var p = [0, 0, 0, 0, [], [], [], [], [], [] ];
var res = (function fractal(a, depth) {
    return depth == 0 ? a: a.map(e => Array.isArray(e) ? fractal(p, depth-1) : e);
})(p, 2);
document.write(JSON.stringify(res, 0, 2));