写一个方法去掉对象的多余属性

在前端开发中,有时我们需要从对象中删除多余的属性,以减小数据的大小或避免将不必要的数据发送到服务器。这可以通过创建一个新的对象,并从原始对象中选择性地复制所需的属性来实现。以下是一个简单的JavaScript函数,该函数接受一个对象和一个包含所需属性名称的数组,然后返回一个新对象,其中仅包含这些属性:

function removeUnwantedProperties(obj, wantedProperties) {
    const newObj = {};
    for (const key of wantedProperties) {
        if (obj.hasOwnProperty(key)) {
            newObj[key] = obj[key];
        }
    }
    return newObj;
}

你可以这样使用这个函数:

const person = {
    name: 'John Doe',
    age: 30,
    city: 'New York',
    country: 'USA',
    password: 'secret123'
};

const wantedProps = ['name', 'age', 'city'];

const updatedPerson = removeUnwantedProperties(person, wantedProps);

console.log(updatedPerson);
// 输出: { name: 'John Doe', age: 30, city: 'New York' }

在这个例子中,removeUnwantedProperties 函数创建了一个新的对象 newObj,并从 person 对象中复制了 nameagecity 属性。passwordcountry 属性被排除在外,因为它们不在 wantedProps 数组中。

posted @ 2024-12-28 09:21  王铁柱6  阅读(42)  评论(0)    收藏  举报