JSFiddle - React, Tailwind, and code Playground

JavaScript

var arr = [0, 400, 300, 400, 300, 200, 100, 200];
var hashValueToPosition = {};
var i;

for (i = 0; i < arr.length; i++) {
    hashValueToPosition[arr[i]] = (hashValueToPosition[arr[i]] || []);
    hashValueToPosition[arr[i]].push(i);
}

var getKeys = function(obj){
   var keys = [];
   for(var key in obj){
      keys.push(key);
   }
   return keys;
}

var arrMaxToMinScores = getKeys(hashValueToPosition).sort().reverse();

for (i = 0; i < arrMaxToMinScores.length; i++) {
    $("body").append("<pre>" + arrMaxToMinScores[i] + ": " + JSON.stringify(hashValueToPosition[arrMaxToMinScores[i]]) + "</pre>");
}