Filter row properties from array of objects

Filter row properties from array of objects

by Nirvanachain

JavaScript

var myArray = [
    {
        "row": 1,
        "headline": "First Object"
    },
    {
        "row": 1,
        "headline": "Second Object"
    },
    {
        "row": 2,
        "headline": "Third Object"
    },
    {
        "row": 2,
        "headline": "Fourth Object"
    },
    {
        "row": 3,
        "headline": "Fifth Object"
    }
];

var rowObj = {},
    rowArray = [];

myArray.forEach(function(r) {
    // puts the key equal to d.row into the object
    rowObj[r.row] = true; 
});

console.log('rowObj =',rowObj);

for (var prop in rowObj) {
    if ( rowObj.hasOwnProperty(prop) ) {
        rowArray.push(prop);   
    }
}

console.log('rowArray =',rowArray);

var page = '<div class="container">\n';
rowArray.forEach(function(element, index) {
    var e = parseInt(element, 10)
    var row = '<div class="row row=' + e + '">\n';
    
    myArray.forEach(function(ele, i) {
        if (ele.row === e) {
            var col = '<div class="col-' + ele.headline + '"></div>\n';
            
            row += col;
        }
    }); 
    
    row += '</div>\n';
    
    page += '\n' + row;
});
page += '</div>';

console.log('page = \n', page);