JSFiddle - React, Tailwind, and code Playground

HTML

<div id="my_div">
    <button onclick="run_me()">click me</button>
</div>

JavaScript

function run_me() {
    console.log("make_array");
    add_divs(make_array());
}

function make_array() {
    var my_array = [];
    my_first_obj = {
        name: "ClickTheFirstOne",
        age: 24,
        callback_fn: function(div) {
            $(this).append("clicked first");
        }
    };
    my_array.push(my_first_obj);
    
    my_next_obj = {
        name: "ClickTheSecondOne",
        age: 42,
        callback_fn: function(div) {
            $(this).append("clicked second");
        }
    };
    my_array.push(my_next_obj);
    return my_array;
}

function add_divs(my_array)
{
    for (var i = 0; i < my_array.length ; i++) {
        var new_div = document.createElement("div");
        $(new_div).append("<div>" + my_array[i].name + ", " + my_array[i].age + "</div>");
        var clickfn = function () { $(this).append("test case"); };
        var clickfn2 = makeFunction(my_array[i].callback_fn);
        console.log(clickfn2);
        console.log(clickfn);
        $(new_div).click( makeFunction(my_array[i].callback_fn) );
        $("#my_div").append(new_div);
    }
}

function makeFunction(myfunc) {
    var retfunc = myfunc;
    return retfunc;
}