Показать сообщение отдельно
  #6 (permalink)  
Старый 29.09.2010, 19:40
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

Сообщение от 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]);
Ответить с цитированием