You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用JavaScript反转JSON对象的键值对顺序?

如何反转JavaScript对象的键值对顺序?

现有对象:

let obj = { 
 one : 1, 
 two : 2, 
 three : 3
}

期望得到反转键顺序后的对象:

let reversedObj = { 
 three: 3, 
 two : 2, 
 one : 1 
}

你之前尝试的代码问题在于,keys.reverse()返回的是反转后的键数组,直接赋值给obj会把原对象替换成数组,自然达不到目标。

正确实现方案

方案1:遍历反转后的键构建新对象

先获取对象的键数组,反转后遍历每个键,把对应键值对添加到新对象中:

let obj = { 
 one : 1, 
 two : 2, 
 three : 3
};

// 获取键数组并反转
const reversedKeys = Object.keys(obj).reverse();
// 构建新对象
const reversedObj = {};
reversedKeys.forEach(key => {
  reversedObj[key] = obj[key];
});

console.log(reversedObj);
// 输出:{ three: 3, two: 2, one: 1 }

方案2:使用Object.fromEntries + Object.entries(ES2019+)

Object.entries会把对象转成键值对数组,反转这个数组后,再用Object.fromEntries转回对象:

let obj = { 
 one : 1, 
 two : 2, 
 three : 3
};

const reversedObj = Object.fromEntries(
  Object.entries(obj).reverse()
);

console.log(reversedObj);
// 输出:{ three: 3, two: 2, one: 1 }

注意:这两种方案依赖JavaScript对象的键顺序特性——从ES6开始,对象会保留字符串键的插入顺序,所以反转后的键顺序会被正确保留。如果是数字类型的键,会被自动排序,这个场景不适用。

内容的提问来源于stack exchange,提问作者Aniket Raj

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 00:01:01