JSFiddle - React, Tailwind, and code Playground

HTML

<pre id="output"></pre>

JavaScript

var myArray = new Array();

myArray["86"] = {"target_area" : { "name_area" : "Loic"}};
myArray["85"] = {"target_area" : { "name_area" : "aaaaaaaa"}};
myArray["81"] = {"target_area" : { "name_area" : "zzzzzzzzzz"}};

function sortToIndices(arr){
    var occupiedIndices = [],
        objectCollection = [];

    for(var i = 0; i < arr.length; i++) {
        if(arr[i] != null){ // You may want to make this condition more strict
            occupiedIndices.push(i);
            objectCollection.push(arr[i]);
        }
    };

    objectCollection.sort(function(a, b) {
        var nameA = a.target_area.name_area.toLowerCase(), 
            nameB = b.target_area.name_area.toLowerCase();
            if (nameA < nameB) //sort string ascending
                return -1;
            if (nameA > nameB)
                return 1;
            return 0; //default return value (no sorting)
    });

    for (i = 0; i < occupiedIndices.length; i++) {
        arr[occupiedIndices[i]] = objectCollection[i];
    };       
}

sortToIndices(myArray);

out(myArray["86"]); //Nothing
out(myArray["0"]); //Here the index has been changed

function out()
{
    var args = Array.prototype.slice.call(arguments, 0);
    document.getElementById('output').innerHTML += args.join(" ") + "\n";
}