JSFiddle - React, Tailwind, and code Playground

JavaScript

var objects = [
	{filename:"green$1"},
    {filename:"green$2"},
    {filename:"green$3"},
    {filename:"green$4"},
    {filename:"blue$1$1"},
    {filename:"blue$1"},
    {filename:"red$1"},
    {filename:"green$5"},
]

var groups = [];

for (var i = 0; i < objects.length; i++){
    var filename = objects[i].filename
	var n = filename.lastIndexOf("$");
    var groupName = filename.substring(0, n);
    if (groups[groupName] != undefined)
    	groups[groupName].push(objects[i]);
    else {
    	groups[groupName] = [];
        groups[groupName].push(objects[i]);
    }
}

console.log(groups);