JSFiddle - React, Tailwind, and code Playground

JavaScript

var data = [

    {
        "id": 1
    },
    {
        "id": 2
    },
    {
        "id": 3
    },
    {
        "id": 4,
        "children": [
            {
                "id": 6
            },
            {
                "id": 7,
                "children": [
                    {
                        "id": 8
                    },
                    {
                        "id": 9
                    }
                ]
            }
        ]
    },
    {
        "id": 5
    }

];

function findById(data, id, element) {
    function iter(a) {
        if (a.id === id) {
            a.push(element); // ERROR
            result = a;
            return true;
        }
        return Array.isArray(a.children) && a.children.some(iter);
    }
    var result;
    data.some(iter);
    return result
}


var element = {
    "children": [{"id": 6}]
};

findById(data, 5, element);

document.write('<pre>' + JSON.stringify(data, 0, 4) + '</pre>');