2015-07-23 2 views
0

У меня проблема с моим многомерным синтаксисом массива в javascript.
Итак, я хочу построить трехмерную массив с этим правилом:

Когда значение первого массива 'x' увеличивается [x] [y] [z], значение 'y' и 'z' [x] [y] [z] будет уменьшен, например:

первый [0], он имеет [5] [5] число 2 многомерных массивов
второе [1], оно имеет [4 ] [4] число 2 многомерных массивов
третий [2], он имеет [3] [3] число 2 многомерных массивов
четвертый [3], он имеет [2] [2] число 2 многомерный массив
Создание многомерного массива javascript (3 измерения) с некоторыми правилами

Итак, это мой синтаксис:

var values = 5; 
 
var temp = 7; 
 
var data = new Array(values); 
 
//looping for buliding 2nd multi-dimensional array 
 
for(var a=0;a<values;a++){ 
 
    temp=temp-1; 
 
    data[a] = new Array(temp); 
 
} 
 
//looping for buliding 3rd multi-dimensional array  
 
temp=7; 
 
for(var a=0;a<values;a++){ 
 
    temp=temp-1; 
 
    for(var b=0;b<temp;b++){ 
 
    data[a][b] = new Array(temp);  
 
    } 
 
}

может решить эту проблему?

+0

фрагмент кода не работает –

ответ

0

Вы можете сделать это, просто используя две петли, внешние устанавливают первое измерение и внутреннее, создавая как второе, так и третье размеры одинакового размера.

var values = 5; 
var temp = 7; 
var data = new Array(values); 
var a, b; 

for(a = 0; a < values; a++) { 
    temp--; 
    data[a] = new Array(temp); 
    for(b = 0; b < temp; b++) { 
    data[a][b] = new Array(temp); 
    } 
} 
0
var values = 5; 
var data= new Array(); 
for(i = 0; i < values; i++) { 
    var arr = []; 
for(j = values; j > i; j--) { 
    arr.push(new Array(j)); 
} 
data.push(arr); 
Смежные вопросы