首页 > 解决方案 > 使用 Lodash 从对象中删除字段

问题描述

仅当方法为 时,我才想将数据属性发送到 API 服务器add,如果是delete,我不想发送我的数据。

我有

var body =
{
    id: 1,
    method: method,
    params: [
        {
            data: {
                "key1" : "value1",
                "key2" : "value2",
                "key3" : "value3"
            },

            url: `/url/anything`
        }
    ],
    session: session,
    verbose: 1
};

我试过了

if(method == 'delete') {
    _.pick(body.params[0], ['data']);
}

我也试过

if(method == 'delete') {
    _.pick(body.params[0],'data');
}

出于某种原因,我仍然看到我仍在发送data.

一个人将如何调试呢?

标签: javascriptlodash

解决方案


如果您查看lodash pick 文档,您会发现它不会更改源对象,而是从源对象属性创建一个新对象并返回新对象,如果您想从源中删除数据属性对象,您可以使用lodash 中的 unset 方法从对象或一组道具中删除属性,也可以使用删除运算符


推荐阅读