columnize

columnize an array

by Adrian Mejias

HTML

<div id="columns"></div>

JavaScript

var columnize = function(data, cols) {
  var grid = [],
    i = 1,
    col = 0,
    row = 0;
  $.each(data, function(key, value) {
    col = i % cols;
    grid[row] = grid[row] || [];
    grid[row][col] = value;
    i++;
    if (col === 0) {
      row++;
    }
  });
  return grid;
};
var posts = [];
for (var i = 0; i < 25; i++) {
  posts.push({
    id: (i + 1),
    name: 'post ' + (i + 1)
  });
}
var columns = columnize(posts, 2);
window.console.log(posts)
window.console.log(columns);
$('#columns').html(JSON.stringify(columns));