JSFiddle - React, Tailwind, and code Playground

by ooflorent

HTML

<table>
    <tr>
        <td>1</td>
        <td>1</td>
        <td>1</td>
        <td>1</td>
        <td>1</td>
        <td>1</td>
        <td>1</td>
        <td>1</td>
    </tr>
    <tr>
        <td>2</td>
        <td>2</td>
        <td>2</td>
        <td>2</td>
        <td>2</td>
        <td>2</td>
        <td>2</td>
        <td>2</td>
    </tr>
    <tr>
        <td>3</td>
        <td>3</td>
        <td>3</td>
        <td>3</td>
        <td>3</td>
        <td>3</td>
        <td>3</td>
        <td>3</td>
    </tr>
</table>

JavaScript

function createSharedStruct() {
    // Define a shared structure
    var Struct = function () {};

    // Define a method to define a shared variable
    Struct.share = function (variable, value) {
        Struct.prototype[variable] = value;
    };

    return Struct;
}

// Create the shared structure
var rowClass = createSharedStruct();

// Register your shared variables
rowClass.share('my_variable', 'my_variable_value');

var erg = [];
$("tr").each(function (index) {
    var test = $(this).children();

    // Create a new row
    var row = new rowClass();
    row['column1'] = test[0].textContent;
    row['column2'] = test[1].textContent;
    row['column3'] = test[2].textContent;
    row['column4'] = test[3].textContent;
    row['column5'] = test[4].textContent;
    row['column6'] = test[5].textContent;
    row['column7'] = test[6].textContent;
    erg.push(row);
});

// No matter when you share a variable, it will be defined among 
// all instances of the same struct.
rowClass.share('my_other_var', 42);

// Tests
console.log(erg);
console.log(erg[0].my_variable);
console.log(erg[0].my_other_var);