JSFiddle - React, Tailwind, and code Playground
JavaScript
let wrongOrderObj = {
'orange': 'f',
'blue': 'z',
'red': 'c',
'gold': 'y',
'purple': 'p',
'green': 'a',
'yellow': 'd'
};
let wantedOrderObj = {
'green': 'a',
'blue': 'z',
'red': 'c',
'gold': 'y',
'purple': 'p',
'yellow': 'd',
'orange': 'f'
};
let newArr = [],
loopCount = 1;
function reOrderObj() {
for (let key in wrongOrderObj) {
for (let i = 0; i < newArr.length; i++) {
if (! key in newArr[i]) {
if (key === 'green') {
newArr.push({key : wrongOrderObj[key]});
}
else if (key === 'blue') {
newArr.push({key : wrongOrderObj[key]});
}
else if (key !== 'purle' && key !== 'yellow' && key !== 'orange') {
newArr.push({key : wrongOrderObj[key]});
}
else {
if (key === 'purple') {
newArr.push({key : wrongOrderObj[key]});
}
else if (key === 'yellow') {
newArr.push({key : wrongOrderObj[key]});
}
else if (key === 'orange') {
newArr.push({key : wrongOrderObj[key]});
}
}
}
}
if (newArr.length < loopCount) {
loopCount += 1;
reOrderObj();
}
else {
console.log(newArr);
}
}
}
reOrderObj();