let obj = {
one : 1,
two : 2,
three : 3
}
Я хочу, чтобы вывод был таким:
let obj = {
three: 3,
two : 2,
one : 1
}
пусть ключи = Object.keys(obj);
obj = {...keys.reverse()}
но в нем есть ошибки
мы можем повернуть в любом случае? порядок здесь не важен
нет никакой гарантии в любом порядке представления ключей в js-объекте, особенно при преобразовании JSON в JS-объект, потребляющий системные ресурсы.
Если порядок не важен, то в чем смысл вопроса?
Я создаю новый объект json через старый объект, поэтому, чтобы каждый раз перетасовывать новый объект json, мне понадобился этот метод.
Вы путаете. слово JSON относится к textual syntax
. Это не объект javascript. в вашем вопросе нет JSON.
Почему вы удалили свой предыдущий вопрос только для того, чтобы сделать репост?
const obj = {
one : 1,
two : 2,
three : 3
};
// 👇️ ['3', '2', '1']
const reversedKeys = Object.keys(obj).reverse();
reversedKeys.forEach(key => {
console.info(key, obj[key]);
});
const obj = {
one : 1,
two : 2,
three : 3
};
// 👇️ ['3', '2', '1']
const reversedKeys = Object.keys(obj).reverse();
reversedKeys.forEach(key => {
console.info(key, obj[key]);
});
На самом деле reversedKeys
уступит ['one', 'two', 'three']
Используйте Object.entries
, чтобы сгенерировать массив пар [key,value]
, затем используйте Object.fromEntries()
, чтобы преобразовать его обратно в объект после реверсирования.
let obj = {
one : 1,
two : 2,
three : 3
}
let output = Object.fromEntries(Object.entries(obj).reverse())
console.info(output)
Объекты не могут гарантировать порядок — только массивы.