Есть две функции (перемещение первого свойства в конец и перемещение последнего свойства в начало)
//перемещение последнего свойства объекта вначало
function moveLastPropertyToFirst (_obj) {
if (typeof _obj !== 'object' || _obj === null || Object.keys(_obj).length === 0) {
return _obj;
}
const keys = Object.keys(_obj);
const lastKey = keys[keys.length - 1];
const lastValue = _obj[lastKey];
delete _obj[lastKey];
// Создаем новый объект, чтобы сохранить порядок свойств.
const newObj = {};
newObj[lastKey] = lastValue;
// Копируем оставшиеся свойства из исходного объекта в новый объект.
for (const key of keys) {
if (key !== lastKey) {
newObj[key] = _obj[key];
}
}
// Очищаем исходный объект и копируем свойства из нового объекта. Это нужно,
// чтобы сохранить ссылку на исходный объект.
for (const key of keys) {
delete _obj[key];
}
for (const key in newObj) {
if (newObj.hasOwnProperty(key)) {
_obj[key] = newObj[key];
}
}
return _obj;
};
function moveFirstPropertyToEnd(obj) {
if (!obj || Object.keys(obj).length === 0) {
return obj; // Возвращаем исходный объект, если он пустой или не существует
}
const keys = Object.keys(obj);
const firstKey = keys[0];
const firstValue = obj[firstKey];
delete obj[firstKey]; // Удаляем первое свойство
obj[firstKey] = firstValue; // Добавляем свойство в конец
return obj;
}
Делаем примеры
// Пример использования:
const myObject = {"144412":"3","291414":"3","291416":"3","291439":"3","291447":"3"};
const updatedObject = moveFirstPropertyToEnd(myObject);
console.log(updatedObject);
const myObject2 = {a:"3",b:"3",c:"3",d:"3",e:"3"};
const updatedObject2 = moveFirstPropertyToEnd(myObject2);
console.log(updatedObject2);
let myObject3 = {144412:"3",291414:"3",291416:"3",291439:"3",291447:"3"};
const updatedObject3 = moveLastPropertyToFirst(myObject3);
console.log(updatedObject3);
let myObject4 = {a:"3",b:"3",c:"3",d:"3",e:"3"};
const updatedObject4 = moveLastPropertyToFirst(myObject4);
console.log(updatedObject4);
В итоге выведет
(5) {144412: "3", 291414: "3", 291416: "...}
(5) {b: "3", c: "3", d: "3", e: "3", a: ...}
(5) {144412: "3", 291414: "3", 291416: "...}
(5) {e: "3", a: "3", b: "3", c: "3", d: ...}
ВТФ?))))
https://playcode.io/2346689