У меня следующий код, и мне было интересно, можно ли решить эту проблему лучше? Цель состоит в том, чтобы переместить элемент в пределах объекта вверх / вниз.
moveTab = (action, tab) => event => {
event.stopPropagation();
let order = { ...this.state.settings.layout }
let sorted = false;
let sortedArray = Object.keys(order).sort((a, b) => {
if (!sorted && ((action === 'up' && b === tab) || (action === 'down' && a === tab))) {
sorted = true;
return 1;
}
return 0;
});
let sortedObject = {}
sortedArray.map(key => sortedObject[key] = order[key]);
console.log(order);
console.log(sortedObject);
// ... more code ...
}