JavaScript 重命名对象键

JavaScript 重命名对象键

JavaScript不提供内置函数来重命名对象键。因此我们将探讨不同的方法来实现这一目标。

键: 在JavaScript中,对象用于存储各种数据的集合。它是一组属性。属性是 “键: 值” 对,其中 被称为 “属性名” ,用于标识值。

方法1

通过简单赋值变量来重命名对象。在变量或变量的赋值之后,我们将删除旧的键值对并打印新的键值对。

语法:

obj['New key'] = obj['old key'];

注意: 通过简单的变量赋值来重命名对象可以应用于多个键和值对。

示例:

// JavaScript Program to illustrate renaming
 
// Creating an object 'capital' with
// key "Burma" and value "Naypitaw"
let capitals = [{ 
    "Burma": "Naypyitaw"
}];
 
console.log(capitals);
 
// Function to rename on button click
function rename() { 
    capitals = capitals.map(function (obj) {
 
        // Assign new key
        obj['Myanmar'] = obj['Burma']; 
 
        // Delete old key
        delete obj['Burma']; 
 
        return obj;
    });
    console.log(capitals);
}
 
rename();

输出

[ { Burma: 'Naypyitaw' } ]
[ { Myanmar: 'Naypyitaw' } ]

方法2

在这个方法中,我们将利用 defineProperty() 重命名给定的对象键,通过操作对象的属性来实现。

defineProperty() 方法: 这个静态方法用于定义一个新的对象属性或修改已存在的属性,并返回该对象。它接受3个参数。它们分别是: 要修改的对象键名 以及 描述 属性。

语法:

Object.defineProperty(obj, key, description) 

示例:

// JavaScript Program to illustrate renaming key
 
// Creating an object 'capital' with
// key "Persia" and value "Tehran"
let capitals = [{
    "Persia": "Tehran"
}];
console.log(capitals);
 
// Function to rename old key
function renameKey(obj, old_key, new_key) {
 
    // Check if old key = new key
    if (old_key !== new_key) {
 
        // Modify old key
        Object.defineProperty(obj, new_key,
 
            // Fetch description from object
            Object.getOwnPropertyDescriptor(obj, old_key));
 
        // Delete old key
        delete obj[old_key];
    }
}
function rename() {
    capitals.forEach(obj => renameKey(obj, 'Persia', 'Iran'));
    console.log(capitals);
}
 
rename();

输出

[ { Persia: 'Tehran' } ]
[ { Iran: 'Tehran' } ]

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程