raaaatata,
испорченный телефон получается, данные только у вас, и что это известно только вам.
условно всё будет типа такого
<pre>
<script>
let layers = [{
name: '[merge]step_0_0'
}, {
name: '[merge]mask_0_0'
}, {
name: '[merge]back_0_0'
}, {
name: 'step_1_0'
}, {
name: 'mask_1_0'
}, {
name: 'back_4_0'
}]
let obj = layers.reduce((obj, el) => {
let name = el.name;
let [a, b] = name.split(/(?<!\d)_/);
let key = `[slot]step-${b}`;
if (key in obj) obj[key].push(el);
else obj[key] = [el];
return obj
}, {});
document.write(JSON.stringify(obj,null,1))
</script>
</pre>