JSFiddle - React, Tailwind, and code Playground

JavaScript

var binaryTree = 
    {   
        val: 5,
        n1: {
            val: 2,
            n1: { val: 1},
            n2: { val: 4}
        },
        n2: {
            val: 8,
            n1: {val: 6},
            n2: {val: 9}
        }        
    }

var orderedNodes = []

function traverse(t)
{
    if(t.n1)
        traverse(t.n1);
    orderedNodes.push(t);    
    if(t.n2)
        traverse(t.n2);
}
traverse(binaryTree);

for(var i = 0; i < orderedNodes.length; i++)
{
    if(orderedNodes[i-1])
        orderedNodes[i].n1 = orderedNodes[i-1];
    if(orderedNodes[i+1])
        orderedNodes[i].n2 = orderedNodes[i+1];
}

console.dir(orderedNodes[0]);