JSFiddle - React, Tailwind, and code Playground

by marrok

JavaScript

function uniq(data) {
    var set = {};
    for (var i = 0; i < data.length; i++)
        set[data[i]] = 1;

    var arr = [];
    for (var key in set)
        arr.push(key);
    return arr;
}

var items = [
    {
    'id': 0,
    't': 'row'},
{
    'id': 1,
    't': 'row'},
{
    'id': 2,
    't': 'col'},
{
    'id': 3,
    't': 'col'},
{
    'id': 2,
    't': 'baz'},
{
    'id': 3,
    't': 'baz'},
    ]

var ts = items.map(function(o) {
    return o.t
})
//call uniq
ts = uniq(ts)

var matrix = []

for (var i = 0; i < ts.length; i++) {
    var arr = items.filter(function(o) {
        return o.t === ts[i];
    })
    matrix.push(arr)
}

console.log(matrix)