技术文摘
JavaScript 中如何交换 JSON 元素的键与值
JavaScript 中如何交换 JSON 元素的键与值
在 JavaScript 编程中,处理 JSON 数据是常见任务。有时,我们会遇到需要交换 JSON 元素键与值的情况。这不仅考验我们对 JSON 数据结构的理解,也要求熟练掌握 JavaScript 的操作方法。
明确 JSON 本质是一种轻量级的数据交换格式,在 JavaScript 里,它常以对象形式存在。例如,有这样一个简单的 JSON 对象:const json = { "name": "John", "age": 30 }; 我们的目标就是将这个对象的键和值进行互换。
一种常用方法是使用 Object.entries() 方法。该方法会将一个对象的所有可枚举属性转换为一个包含键值对的数组。我们可以这样操作:
const json = { "name": "John", "age": 30 };
const entries = Object.entries(json);
const swappedEntries = entries.map(([key, value]) => [value, key]);
const swappedJson = Object.fromEntries(swappedEntries);
console.log(swappedJson);
在这段代码中,Object.entries(json) 把 JSON 对象转换为数组,数组的每个元素是包含原对象键值对的数组。接着,使用 map() 方法遍历这个数组,在遍历过程中,将每个子数组的元素顺序交换,即把原来的键和值互换位置。最后,通过 Object.fromEntries() 方法把这个新的包含交换后键值对的数组重新转换为一个 JSON 对象。
另一种方式是使用 for...in 循环。for...in 循环会遍历对象的可枚举属性。代码示例如下:
const json = { "name": "John", "age": 30 };
const swapped = {};
for (let key in json) {
if (json.hasOwnProperty(key)) {
swapped[json[key]] = key;
}
}
console.log(swapped);
在这个代码片段里,我们先创建一个空对象 swapped 用于存储交换后的结果。通过 for...in 循环遍历原 JSON 对象的每一个键,使用 hasOwnProperty() 方法确保处理的是对象自身的属性而非继承的属性。然后,将原对象的键值对按照值作为新键、键作为新值的方式添加到 swapped 对象中。
掌握在 JavaScript 中交换 JSON 元素键与值的方法,能有效提升我们处理数据的灵活性和效率,无论是在数据转换、数据清洗还是其他复杂的业务逻辑场景中,都能为我们提供有力的支持。
TAGS: JavaScript JSON操作 JSON元素 键值交换
- Python 自动化脚本的六个实用示例,您掌握了吗?
- Vue3 自定义指令学习笔记
- 最少箭数引爆气球,我们携手达成
- 双 11 实时物流订单优秀实践分享
- 轻松开启 TypeScript 之旅
- 你是否使用过 SpringMVC 函数式接口 Router Function?
- C++中极具价值的设计模式介绍
- GET 和 POST 请求本质区别大揭秘,让人恍然大悟
- 线上系统中一个 ThreadLocal 致直接内存飙升
- 怎样编写干净的 JavaScript 代码
- 别只用 split !试试 StringTokenizer ,性能快 4 倍 !
- JetBrains 的下一代 IDE Fleet 对标 VS Code
- 通俗阐释:缓存、缓存算法与缓存框架简述
- EasyC++:函数与语言链接性
- HarmonyOS 示例:AI 能力在报菜名中的应用