JavaScript 如何交换JSON元素的键和值
在本文中,我们将使用JavaScript来交换JSON元素的键和值。给定一个JSON对象,任务是通过JavaScript来交换JSON对象的键和值。
以下是几种方法:
- 使用for循环
- 使用Object.keys() 和 ForEach() 方法
- 使用Object.entries() 和 map() 方法
方法1:使用for循环
- 创建一个新的空对象。
- 通过for循环遍历对象的每个键,并将元素从旧对象以相反的形式添加到新对象中(通过交换键和值)。
示例: 以下示例实现了上述方法。
let obj = {
"Prop_1": "Val_1",
"Prop_2": "Val_2",
"Prop_3": "Val_3"
};
function swapValues(j) {
let res = {};
for (let key in j) {
res[j[key]] = key;
}
return res;
}
function GFG_Fun() {
console.log(JSON.stringify(swapValues(obj)));
}
GFG_Fun();
输出
{"Val_1":"Prop_1","Val_2":"Prop_2","Val_3":"Prop_3"}
方法2
- 使用Object.keys()和ForEach()方法。
- 创建一个新的空对象。
- 对于对象的每个键值,以相反的形式(通过交换键和值)将元素从旧对象添加到新对象中。
示例: 此示例实现了上述方法。
let obj = {
"Prop_1": "Val_1",
"Prop_2": "Val_2",
"Prop_3": "Val_3"
};
function swapValues(o) {
const res = {};
Object.keys(o).forEach(key => {
res[o[key]] = key;
});
return res;
}
function GFG_Fun() {
console.log(JSON.stringify(swapValues(obj)));
}
GFG_Fun();
输出
{"Val_1":"Prop_1","Val_2":"Prop_2","Val_3":"Prop_3"}
方法3:使用Object.entries()和map()方法
在这个方法中,我们将使用 Object.entries() 和 map()方法 以数组格式获取对象的所有键值对。
示例:
let obj = {
"Prop_1": "Val_1",
"Prop_2": "Val_2",
"Prop_3": "Val_3"
};
const swappedObject =
Object.entries(obj).reduce((acc, [key, value]) => {
acc[value] = key;
return acc;
}, {});
console.log(swappedObject);
输出
{ Val_1: 'Prop_1', Val_2: 'Prop_2', Val_3: 'Prop_3' }