Сообщение от simple
|
а как сделать чтобы это было динамически
|
Пожалуйста: метод возвращает квадратный двумерный массив.
Array.prototype.to2x = function(){
var x = arguments[0] ? Math.ceil(Math.sqrt(this.length)) : Math.floor(Math.sqrt(this.length)), result = [];
for( var i = 0; i < x; i++ ) result.push([]);
for( var i = 0; i < x*x; i++ ){
var a = i==0 ? 0 : Math.floor(i/x),
b = i==0 ? 0 : i%x;
result[a][b] = this[i];
}
return result;
};
var temp1 = [1, 2, 3, 4, 5].to2x();
alert(temp1[0]+'; '+temp1[1]);
var temp2 = [1, 2, 3, 4, 5].to2x(true);
alert(temp2[0]+'; '+temp2[1]+'; '+temp2[2]);