今天在群里看到有人在讨论这么一个问题:


我有一个参数对象:

const params = {
    id: 1,
    name: '张三',
    age: 18,
    sex: '男',
    address: '北京市海淀区',
    email: 'aabbcc@qq.com'
}

这个参数对象是要传给后端的,但是后端要求我传参数时,不要传 emall 字段,请问如何处理比较好?后端说的不要 emial 字段并不是说让 emial 传空,而是这个参数对象里压根不要带 emial 这个字段。


我目前的处理方法是这样的:重新定义了一个对象,只保留了需要传给后端的字段

    // ......
     
    const paramsForBackend = {
        id: params.id,
        name: params.name,
        age: params.age,
        sex: params.sex,
        address: params.address
    }

但是我觉得这种处理方式有点麻烦,有没有更优雅的方式?



其实像这种情况我之前也有遇到过,处理方法基本使用的下面这两种:

1- 直接删除 params 对象的 email 字段,当然这种方式你要确保删除 emial 字段后对其它代码逻辑没有影响。

const params = {
    id: 1,
    name: '张三',
    age: 18,
    sex: '男',
    address: '北京市海淀区',
    email: 'aabbcc@qq.com'
}
delete params.email

2- 采用 ES6 的解构赋值来实现

// 通过解构赋值,我们拿到的 paramsForBackend 对象里就没有 email 这个字段了
const { email, ...paramsForBackend } = params
本文最后更新于 2024-09-13 15:05:01JAVASCRIPT
天生我材必有用,千金散尽还复来~~
作者:鄢云峰 YYF声明:转载请注明文章出处地址:https://yanyunfeng.com/article/63
评论
提交
来发第一个评论啦~