2016-04-15 51 views
0

我有每個陣列這樣內具有4個值和6點的陣列的陣列 -分形數組語法

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

。在每個這些陣列的餘放在這個對象創建此的副本 -

[0,0,0,0,[0,0,0,0,[] [],[],[],[],[]]],[[0,0,0,0,[] [],[],[],[],[]]],[[0 ,0,0,0,[] [],[],[],[],[]]],[[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] [i] [012]我] [我]

我的陣列正在做我想要的東西,是的,它工作正常,沒有性能或任何問題! 但是!!!它看起來像這樣 -

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)上的「對象的值」的能力。使用腳本縮小效率會降低效率嗎?

謝謝!

+0

什麼是數組裏面?或者他們只是爲了計數?然後拿數字。 –

+0

哇!我第一次看到醜陋而有效的問題。 –

+0

對不起,我只編程2個月我的互聯網上的第一篇文章關於代碼有史以來。 – Chris

回答

1

你可以像這樣做一個遞歸函數。

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);

+0

這些工作很好,我會盯着這段代碼,直到我更瞭解它,在調整了一些其他代碼後在我的應用程序中工作。 您如何構建數組似乎會影響每個數組上的任何對象屬性,例如array [5] [5] [5] [5] .o。 雖然現在工作很好。 – Chris

1

構建分形陣列的遞歸

// 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));

+0

謝謝,這看起來很不錯。 我對箭頭函數中的「e」,以及整條線的工作原理有些混淆? 謝謝你! – Chris

+0

@Chris它是[三元](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Operators/Conditional_Operator)運算符,它檢查條件是否爲真Array.isArray(e)'return第一部分'分形(p,深度-1)'否則返回第二部分'e'。 'e'是數組中的當前元素 – isvforall

+0

有沒有辦法做類似於通過返回例如 (5 for循環,i,j,o,u,k)的數組的循環,並且改變所有第5級k)元素, array [i] [j] [o] [u] [k] [0] = 0; array [i] [j] [o] [u] [k] [1] = 0; – Chris